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
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