Gedoemde transacties
Je wilt de gegevens van twee nieuwe klanten invoegen in de tabel customer. Je bereidt een script voor waarmee, als er een fout optreedt, de transactie wordt teruggedraaid en je het foutbericht te zien krijgt. Je wilt dit sturen met XACT_ABORT in combinatie met XACT_STATE.
Deze oefening maakt deel uit van de cursus
Transacties en foutafhandeling in SQL Server
Oefeninstructies
- Gebruik de juiste instelling van
XACT_ABORT. - Controleer of er een open transactie is.
- Draai de transactie terug.
- Selecteer het foutbericht.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
-- 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