Transazioni "doomed"
Vuoi inserire i dati di due nuovi clienti nella tabella customer. Prepari uno script che verifichi che, in caso di errore, la transazione venga annullata (rollback) e che tu ottenga il messaggio di errore. Vuoi gestirlo usando XACT_ABORT in combinazione con XACT_STATE.
Questo esercizio fa parte del corso
Transazioni e gestione degli errori in SQL Server
Istruzioni dell'esercizio
- Usa l'impostazione appropriata di
XACT_ABORT. - Verifica se c'è una transazione aperta.
- Esegui il rollback della transazione.
- Seleziona il messaggio di errore.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- 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