Dömda transaktioner
Du vill infoga data för två nya kunder i tabellen customer. Du förbereder ett skript som kontrollerar att om ett fel uppstår, återställs transaktionen och du får felmeddelandet. Du vill styra detta med XACT_ABORT i kombination med XACT_STATE.
Den här övningen är en del av kursen
Transaktioner och felhantering i SQL Server
Övningsinstruktioner
- Använd rätt inställning för
XACT_ABORT. - Kontrollera om det finns en öppen transaktion.
- Återställ transaktionen.
- Välj felmeddelandet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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