Wie wird eine Transaktion in SQL Server festgeschrieben und rückgängig gemacht?
Ich habe ein riesiges Skript zum Erstellen von Tabellen und zum Portieren von Daten von einem Server. Also das sceipt hat im Grunde -
Anweisungen für Tabellen erstellen.Insert zum Portieren der Daten in diese neu erstellten Tabellen.Anweisungen für gespeicherte Prozeduren erstellen.So habe ich diesen Code, aber es funktioniert im Grunde nicht @@ FEHLER ist immer Null, denke ich ..
BEGIN TRANSACTION
--CREATES
--INSERTS
--STORED PROCEDURES CREATES
-- ON ERROR ROLLBACK ELSE COMMIT THE TRANSACTION
IF @@ERROR != 0
BEGIN
PRINT @@ERROR
PRINT 'ERROR IN SCRIPT'
ROLLBACK TRANSACTION
RETURN
END
ELSE
BEGIN
COMMIT TRANSACTION
PRINT 'COMMITTED SUCCESSFULLY'
END
GO
Kann mir jemand helfen, eine Transaktion zu schreiben, die im Grunde genommen bei Fehlern zurückgesetzt wird und festschreibt, ob alles in Ordnung ist .. Kann ich @ verwende RaiseError irgendwie hier ..