Mit der RAISERROR-Anweisung können Sie benutzerdefinierte Fehler generieren. Die RAISERROR-Anweisung funktioniert so ähnlich wie die SIGNAL-Anweisung. Weitere Hinweise finden Sie unter RAISERROR-Anweisung.
Die RAISERROR-Anweisung an sich verursacht nicht die Beendigung der Prozedur, sie kann jedoch mit einer RETURN-Anweisung oder einem Test der globalen Variable @@error gekoppelt werden, um die Ausführung nach einem benutzerdefinierten Fehler zu steuern.
Wenn Sie die Datenbankoption "on_tsql_error" auf "Continue" setzen, meldet die Anweisung RAISERROR keinen Fehler mehr, der die Ausführung beendet. Stattdessen läuft die Prozedur zu Ende, speichert den RAISERROR-Statuscode sowie die Meldung und gibt den letzten RAISERROR zurück. Wenn die Prozedur, die den RAISERROR verursacht hat, aus einer anderen Prozedur aufgerufen wurde, wird der RAISERROR erst zurückgegeben, wenn die äußerste aufgerufene Prozedur beendet ist. Wenn Sie die Option on_tsql_error auf den Standardwert (Bedingt) setzen, steuert die Option continue_after_raiserror das Verhalten, das der Ausführung einer RAISERROR-Anweisung folgt. Wenn Sie die Option on_tsql_error auf "Stop" oder "Continue" setzen, hat die Einstellung on_tsql_error Vorrang vor der Einstellung continue_after_raiserror.
Dazwischenliegende RAISERROR-Statusangaben und -Codes gehen verloren, nachdem die Prozedur abschließt. Falls zur Rückgabezeit ein Fehler zusammen mit RAISERROR auftritt, werden die Informationen für den neuen Fehler zurückgegeben, und die RAISERROR-Informationen sind verloren. Die Anwendung kann dazwischenliegende RAISERROR-Statusangaben abfragen, indem sie die globale Variable @@error zu verschiedenen Ausführungspunkten überprüft.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |