RESIGNAL meldet in einer lokalen Fehler-Routine explizit einen Fehler oder einen SQLSTATE. Im Unterschied zu SIGNAL ist die Angabe eines Fehlernamens oder eines SQLSTATE optional.
RESIGNAL verwendet den Diagnosebereich der SQL-Anweisung, die die Fehler-Routine aktiviert hat, als aktuellen Diagnosebereich und trägt entsprechende Diagnoseinformationen in den aktuellen Diagnosebereich ein.
RESIGNAL ist eine der Diagnoseanweisungen in Routinen. Detaillierte Informationen zum Einsatz und zur Wirkung von RESIGNAL finden Sie im Abschnitt „Diagnoseinformationen in Routinen".
RESIGNAL [
fehlername |
sqlstate ] [SET
diagnose_info ]
sqlstate ::= SQLSTATE [VALUE]
alphanumerisches_literal
diagnose_info ::= MESSAGE_TEXT=
message
message ::={
alphanumerisches_literal |
lokale_variable |
routinenparameter }
fehlername
Name für einen Fehler oder einen SQLSTATE. fehlername wird in den lokalen Daten einer Routine definiert, siehe „Lokale Daten".
sqlstate
Explizite Angabe eines selbst definierten SQLSTATE (alphanumerisches Literal der Länge 5), siehe Abschnitt „Selbst definierte SQLSTATEs".
fehlername und sqlstate nicht angegeben:
Die Diagnoseinformationen CONDITION_IDENTIFIER und RETURNED_SQLSTATE bleiben unverändert.
MESSAGE_TEXT=alphanumerisches_literal
Beliebiger Informationstext (maximale Länge: 120 Zeichen).
MESSAGE_TEXT=lokale_variable / routinenparameter
Als Informationstext wird der Wert der lokalen Variablen oder des angegebenen Routinen-Parameters eingetragen.
Der Datentyp von lokale_variable / routinenparameter muss mit dem Datentyp VARCHAR(120) verträglich sein. Es gelten die Regeln im Abschnitt „Werte in Prozedurparameter (Ausgabe) oder lokale Variable eintragen". Die Textlänge wird in MESSAGE_LENGTH und MESSAGE_OCTET_LENGTH eingetragen.
SET MESSAGE TEXT nicht angegeben:
Die Diagnoseinformationen MESSAGE_TEXT, MESSAGE_LENGTH und MESSAGE_OCTET_LENGTH bleiben unverändert.
Beispiele (siehe auch "Diagnoseinformationen in Routinen" )
Eine Bedingung mit Informationstext melden:
RESIGNAL SET MESSAGE_TEXT='The end is near!';
Siehe auch
COMPOUND, CREATE FUNCTION, CREATE PROCEDURE, GET DIAGNOSTICS, SIGNAL