ПочатиПочніть безкоштовно

«З приреченим станом» (doomed) транзакції

Ви хочете вставити дані двох нових клієнтів до таблиці customer. Ви готуєте скрипт, який у разі помилки відкочує транзакцію та виводить повідомлення про помилку. Ви хочете керувати цим за допомогою XACT_ABORT у поєднанні з XACT_STATE.

Ця вправа є частиною курсу

Транзакції та обробка помилок у SQL Server

Переглянути курс

Інструкції до вправи

  • Використайте відповідне налаштування XACT_ABORT.
  • Перевірте, чи є відкрита транзакція.
  • Виконайте ROLLBACK транзакції.
  • Виберіть (виведіть) текст повідомлення про помилку.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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
Редагувати та запускати код