SQL_ON_ERROR
Legt die Reaktion auf SQL-Fehler fest.
Syntax
SQL_ON_ERROR ACTION=...
Syntax |
Beschreibung/Format |
---|---|
ACTION= |
Reaktion auf SQL-Fehler. Erlaubte Werte: ABEND (Standardwert) und RESUME ABEND - Beim ersten auftretenden SQL-Fehler bricht der Job mit dem Rückgabewert „1“ ab. Nachfolgende SQL-Statements werden nicht ausgeführt. Der Wert muss unter Hochkomma stehen. Geben Sie den Parameter nicht an, so wird RESUME verwendet. |
Standardmäßig werden Jobs abgebrochen, wenn SQL-Fehler auftreten. Mit diesem Script-Sprachmittel können Sie dieses Verhalten steuern.
Die Einstellung, die Sie mit SQL_ON_ERROR setzen, gilt für alle folgenden SQL-Statements bis zum Job-Ende oder bis zur nächsten SQL_ON_ERROR-Statement..
Beachten Sie, dass beim Abbruch des Jobs alle SQL-Statements bis zum letzten COMMIT rückgängig gemacht werden. Enthält der Job kein COMMIT, so werden daher alle SQL-Statements rückgängig gemacht.
Beispiele
Das zweite INSERT-Statement erzeugt einen Fehler, da im Tabellenname ein Tippfehler passiert ist. Trotzdem setzt der Agent den Job fort und kann den Datensatz für Hrn. Huber in die Datenbank schreiben.
SQL_ON_ERROR ACTION="RESUME";
insert into person values (1,'Smith');
insert into person values (2,'Brown');
insert into person values (3,'Spencer');
Im folgenden Beispiel bricht der Agent den Job aufgrund des falschen Tabellennamens ab. Durch das COMMIT wird der Eintrag des Datensatzes für Hrn. Meier nicht rückgängig gemacht. Da der Job mit dem zweiten INSERT-Statement abgebrochen wird, wird der Datensatz für Herrn Huber nicht mehr berücksichtigt, obwohl er syntaktisch richtig ist.
SQL_ON_ERROR ACTION="ABEND";
insert into person values (1,'Smith');
COMMIT;
insert into person values (2,'Brown');
insert into person values (3,'Spencer');
Siehe auch: