SQL_ON_ERROR

Das Script-Element SQL_ON_ERROR bestimmt die Reaktion auf SQL-Fehler. Standardmäßig werden Jobs abgebrochen, wenn SQL-Fehler auftreten. Sie können dieses Script-Element verwenden, um dieses Verhalten zu ändern. Die Einstellung, die Sie mit SQL_ON_ERROR festlegen, gilt für alle folgenden SQL-Anweisungen bis zum Job-Ende oder bis zur nächsten SQL_ON_ERROR-Anweisung.

Wichtig! Beim Abbruch des Jobs werden alle SQL-Anweisungen bis zum letzten COMMIT rückgängig gemacht. Enthält der Job kein COMMIT, so werden daher alle SQL-Statements rückgängig gemacht.

Syntax

SQL_ON_ERROR

ACTION=...

Parameter

  • SQL_ON_ERROR
    Legt die Reaktion auf SQL-Fehler fest

  • ACTION=
    Definiert die Reaktion auf SQL-Fehler. Der Wert muss in Anführungszeichen gesetzt werden.
    Zulässige Werte:

    • ABEND (Standard)
      Beim ersten auftretenden SQL-Fehler bricht der Job mit dem Rückgabewert 1 ab. Nachfolgende SQL-Statements werden nicht ausgeführt.
    • RESUME
      Bei auftretenden SQL-Fehlern wird der Job fortgesetzt.

Beispiele

Die zweite INSERT-Anweisung erzeugt einen Fehler, da auf der Registerkarteellenname 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 den Befehl 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: