Программирование >>  Реализация баз данных 

1 ... 120 121 122 [ 123 ] 124 125 126 ... 162


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 автоматически начинает новую транзакцию. В распределенных транзакциях задействованы два или более серверов, называемые диспетчерами ресурсов. Управление осуществляемое диспетчерами ресурсов, координирует компонент сервера под названием диспетчер транзакций,



1 ... 120 121 122 [ 123 ] 124 125 126 ... 162

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика