ÎncepețiÎncepe gratuit

Tranzacții compromise

Vrei să inserezi datele a doi clienți noi în tabela customer. Pregătești un script care controlează ca, în cazul apariției unei erori, tranzacția să fie anulată și să primești mesajul de eroare. Vrei să gestionezi acest comportament folosind XACT_ABORT în combinație cu XACT_STATE.

Acest exercițiu face parte din cursul

Tranzacții și gestionarea erorilor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește setarea corespunzătoare pentru XACT_ABORT.
  • Verifică dacă există o tranzacție deschisă.
  • Anulează tranzacția.
  • Selectează mesajul de eroare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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
Editează și rulează codul