IniziaInizia gratis

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

Visualizza il corso

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
Modifica ed esegui il codice