|
Программирование >> Реализация баз данных
4. На панели Editor в окне Query введите и исполните следующий кол Transact-SQL: SELECT FROM Authors На вкладке Grids панели Results удится результирующий набор. Обратите внимание, что в строке для Jane Austen теперь содержится описание, добавленное во время исполнения транзакции. .5. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: UPDATE ,i,-jiOis SET Description = N/A WHERE LastName - Austen На вкладке Messages панели Results выводится сообщение, о том, что исполненная транзакция повлияла на одну строку. > Выполнение акцни ической фиксацией 1. На панели Editor в окне Query введите следующий код Transact-SQL: USE BookShopDB CREATE TABLE TestTabl Oll INT PRIMARY KEY. Col2 CHAR(3)) INSERT INTO TestTable VALUES (101, AtJCj INSERT INTO able VALUES (102, DEF) INSERT INTO TestTable VALUSE (103, GHI) SELECT * FROM TestTable GO Этот оператор определяет четыре транзакции с автоматической фиксацией. Первая транзакция определяет используемую hopDB). вторая создает таблицу TestTable, третья добавляет данные в таблицу, а четвертая исполняет запрос SELECT к таблице. 2. Выполните оператор Transact-SQL. На вкладке Messages панели Results выводится сообщение о синтаксической ошибке (VALUSE). 3. Щелкните вкладку Grid. Обратите внимание на отсутствие добавленных значений в столбцах Coll и Со12. При исполнении сценария создана таблица и выполнен запрос SELECT. Однако из-за синтаксической ошибки в третьей транзакции в таблицу не добавлено ни одного значения. 4. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: DROP TABLE TestTable На вкладке Messages панели Results выводится об успешном завершении команды. 5. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: USE BookShopDB CREATE TABLE TestTable (C0II INT PRIMARY KEY, Col2 CHAR(3)) GO INSERT INTO TestTable VALUES (101. ABC) INSERT INTO TestTable VALUES (102. DEF) 36 №р1авле ие транзакциями обками QL Server Глава 12 INSERT INTO TestTable VALUES (103, gui) . SELECT * FROM TestTable Теперь на вкладке Grids панели Results выводится верный результирующий набор. 6. На панели Editor в окне Query введите и исполните следующий код iransact-SQL: DROP TABLE TestTable На вкладке Messages панели Results выводится сообщение об успешном завершении команды. Выполнение неявной транзакции 1. На панели Editor в окне Query ввгдите следующий код Transact-SQL: SE HANSACTIONS ON USE BookShopDB CREATE TABLE TestTable (Coll INT PRIMARY KEY, Col2 CHAR(3)) COMMIT TRANSACTION GO INSERT INTO TestTable VALUES (101, ABC) INSERT INTO TestTable VALUES (102, DEF) INSERT INTO TestTable VALUES (103, GHI) COMMIT TRANSACTION SELECT * FROM TestTable GO COMMIT TRANSACTION SET IMPLICIT TRANSACTIONS OFF Этот оператор сначала включает режим неявных транзакций. Первая мвная транзакция создает в БД BookShopDB таблицу TestTable, следующая добавляет в таблицу значения, и последняя выполняет запрос SELECT к таблице. После завершения всех транзакций режим неявных транзакций отключается (OFF). 2. Выполните оператор Transact-SQL. На вкладке Grids панели Results выводится результирующий набор. 3. На панели Editor в окне Query введите и исполните следующий код Transact-SQL: DROP TABLE TestTable На вкладке Messages панели выводится сообщение об успешном завершении команды, Резюме Транзакция - это последовательность операций, исполняемых как неделимая логическая единица работы. Четыре свойства логической единицы работы (атомарность, сотласован-ность, изоляция и называемые позволяют отнести к транзакциям. Определить начало и завершение транзакции можно средствами операторов или функций и методов SQL Server поддерживает три типа явные, с автоматической фиксацией и неявные. Явная транзакция - это та, начало и конец которой определены явно. Режим с автоматической фиксацией задан в SQL Server по умолчанию. По завершении каждый оператор Transact-SQL либо фиксируется, либо откатывается. Если соединение работает в режиме неявных транзакций, то после фиксации или отката текущей транзакции SQL Server автоматически начинает новую транзакцию. В распределенных транзакциях задействованы два или более серверов, называемые диспетчерами ресурсов. Управление осуществляемое диспетчерами ресурсов, координирует компонент сервера под названием диспетчер транзакций,
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |