Jetzt bleibt wohl nichts anderes übrig als eine Datensicherung zurückzuspielen wenn was schief läuft aber falls es so funktioniert hätte wie ich dachte und man bedingungslos komplette Skripte zurückrollen könnte dann wäre ein Fehler in einem Skript deutlich harmloser und man müsste bloß den Fehler beheben und das Skript erneut ausführen. So war jedenfalls meine Vorstellung.
Dann zerlege dein Script in kleine atomare Schritte:
1. Tabelle anlegen
2. Generator anlegen
3. Trigger anlegen
4. Daten einspielen
5. Update Bestandsdaten
bricht es an einer Stelle ab, dann hast Du eben keinen undefinierten Stand, da du genau nachvollziehen kannst an welcher Stelle das Script mit welcher Meldung abgeraucht ist (-> das stimmt natürlich bei umfangreichen UPDATE Statements nicht). Dann die Ursache korrigieren und die Scriptausführung fortsetzen - das macht dann idealerweise dein Updateprogramm, da es sich in einer Hilfstabelle merkt in welcher Version (sprich welches Script) und an welchem Schritt die letzte Ausführung stehen geblieben ist