Mit der RAISERROR-Anweisung können Sie benutzerdefinierte Fehler generieren. Die RAISERROR-Anweisung funktioniert so ähnlich wie die SIGNAL-Anweisung. Siehe 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 on_tsql_error-Option auf "Stop" oder "Continue" setzen, hat die on_tsql_error-Einstellung Vorrang vor der continue_after_raiserror-Einstellung.
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.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |