Transakcje skazane na niepowodzenie
Chcesz wstawić dane dwóch nowych klientów do tabeli customer. Przygotowujesz skrypt, który w przypadku wystąpienia błędu wycofuje transakcję i wyświetla treść komunikatu o błędzie. Do kontroli chcesz użyć XACT_ABORT w połączeniu z XACT_STATE.
To ćwiczenie jest częścią kursu
Transakcje i obsługa błędów w SQL Server
Instrukcje do ćwiczenia
- Zastosuj odpowiednie ustawienie
XACT_ABORT. - Sprawdź, czy istnieje otwarta transakcja.
- Wycofaj transakcję.
- Pobierz komunikat o błędzie.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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