Welcome Guest, you are in: Anmelden

CP Wiki

RSS RSS

Navigation



  1. Administration

Suche im wiki
»

Eintragshistorie: Richtiges arbeiten mit Transaktionen an der SQL Daenbank

Compare Page Revisions



« Ältere Version - Zurück zu der Eintragshistorie - Aktuelle Version


Eintragsversion: 07/07/2009 08:59


 » Startseite » netFrame als Plattform Menü » Tipps und Tricks » Richtiges arbeiten mit Transaktionen | » Erweiterte Suche

Beispiel:
Mehrere Anweisungen in einer Transaktion kapseln 1. Dieses Beispiel zeigt wie man richtig mehrere Anweisung in eine Transaktion kapselt und diese
bei einem Fehler zurücksetzt.

DECLARE @intErrorCode INT

BEGIN TRAN T1

DELETE FROM PM_PARTNER WHERE CU_ID = '1' SELECT @intErrorCode =
ERROR
IF (@intErrorCode <> 0) GOTO PROBLEM

INSERT INTO pm_partner
(cu_id, CU_CUSTOM_INITIALS)
VALUES(newid(), 'KYO')
SELECT @intErrorCode = 
ERROR IF (@intErrorCode <> 0) GOTO PROBLEM

COMMIT TRAN T1

PROBLEM: IF (@intErrorCode <> 0) BEGIN ROLLBACK TRAN T1 END

Vorsicht:
Wenn dies nicht richtig gemacht wird kann es sein dass trotz Fehlers Teile der SQL Anweisung ausgeführt werden. Falls die Anweisung zweimal
hintereinander aufgerufen werden sollte, müssen sie ein “GO” am Ende hinzufügen, damit der Server die Anweisung teilen kann.

ScrewTurn Wiki version 3.0.1.400. Some of the icons created by FamFamFam.