Doomed-Transaktionen
Du möchtest die Daten zweier neuer Kundinnen und Kunden in die Tabelle customer einfügen. Du bereitest ein Skript vor, das sicherstellt, dass bei einem Fehler die Transaktion zurückgesetzt wird und du die Fehlermeldung erhältst. Du willst das mit XACT_ABORT in Kombination mit XACT_STATE steuern.
Diese Übung ist Teil des Kurses
Transaktionen und Fehlerbehandlung in SQL Server
Anleitung zur Übung
- Verwende die passende Einstellung für
XACT_ABORT. - Prüfe, ob eine Transaktion offen ist.
- Setze die Transaktion zurück (ROLLBACK).
- Wähle die Fehlermeldung aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
-- 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