Обречённые транзакции
Вы хотите вставить данные двух новых клиентов в таблицу customer. Для этого вы подготавливаете скрипт, который при возникновении ошибки откатывает транзакцию и выводит сообщение об ошибке. Управление этим поведением осуществляется с помощью XACT_ABORT в сочетании с XACT_STATE.
Это упражнение является частью курса
Транзакции и обработка ошибок в SQL Server
Инструкции к упражнению
- Укажите подходящее значение для
XACT_ABORT. - Проверьте, есть ли открытая транзакция.
- Выполните откат транзакции.
- Выведите сообщение об ошибке.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH