Es gibt zwei Möglichkeiten, gezielt zu reagieren, wenn eine SQL-Anweisung nicht erfolgreich war:
SQLSTATE abfragen und abhängig vom Statuscode verzweigen
die WHENEVER-Anweisung verwenden
Mit WHENEVER können Sie festlegen, dass nach Ausführung einer SQL-Anweisung mit einem SQLSTATE ≠ '00xxx' und ≠ '01xxx' das Programm entweder fortgesetzt wird oder zu einer bestimmten Stelle im Programm verzweigt wird, an der eine Fehlerbehandlung vorgenommen wird. Die Möglichkeit der Programmverzweigung können Sie für zwei Fehlerklassen festlegen:
NOT FOUND: keine Daten verfügbar, zum Beispiel bei Erreichen des Tabellenendess
SQLERROR: sonstige Fehler, die zum Abbruch der SQL-Anweisungen führten
Die WHENEVER-Anweisung kann mehrmals in einem Programm vorkommen. Die Angaben einer WHENEVER-Anweisung gelten für alle im Programmtext folgenden SQL-Anweisungen bis zur nächsten WHENEVER-Anweisung für dieselbe Fehlerklasse.