Zacznij terazZacznij za darmo

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

Zobacz kurs

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
Edytuj i uruchom kod