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 ..

Antworten auf die Frage(6)

Ihre Antwort auf die Frage