SQLSTATE gibt an, ob die zuletzt ausgeführte SQL-Anweisung einen Erfolg, einen Fehler oder eine Warnung bewirkte.
Zeichenfolge
Der Datenbankserver setzt einen SQLSTATE und SQLCODE für jede von ihm durchgeführte SQL-Anweisung. Ein SQLSTATE ist eine Zeichenfolge, die anzeigt, ob die zuletzt ausgeführte SQL-Anweisung einen Erfolg, eine Warnung oder einen Fehler bewirkte.
Jeder SQLSTATE stellt Fehler dar, die auf allen Plattformen auftreten können, und enthält in der Regel Formulierungen, die nicht produktspezifisch sind. Das Format eines SQLSTATE-Werts ist ein Klassenwert mit zwei Zeichen, dem ein Unterklassenwert mit drei Zeichen folgt. Die Richtlinien für die Einhaltung von SQLSTATE in Bezug auf Klassen und Unterklassenwerte sind im ISO/ANSI SQL-Standard ausgeführt.
SQL Anywhere hält sich an die ISO/ANSI SQLSTATE-Konventionen mit den folgenden Hinzufügungen und Ausnahmen:
Klasse und Unterklasse | Bedingung |
---|---|
01WCx | Warnungen zur Zeichensatzkonvertierung |
38xxx | Externe Funktionsausnahmebedingung |
42Xxx | Syntaxfehler: Ausdrücke |
42Rxx | Syntaxfehler: referenzielle Integrität (z.B. Versuch der Erstellung eines 2. Primärschlüssels) |
42Wxx | Syntaxfehler: Generisch |
42Uxx | Syntaxfehler: mehrfach vorhandene, undefinierte oder zweideutige Objektreferenz |
42Zxx | Zugriffsverletzung |
54Wxx | Produktgrenze überschritten |
55Wxx | Objekt ist nicht im erforderlichen Zustand für einen erfolgreichen Vorgang |
57xxx | Ressource nicht verfügbar oder Eingriff des Bedieners |
5Rxxx | SQL Remote-Fehler |
WBxxx | Onlinesicherungsfehler |
WIxxx | Interne Datenbankfehler |
WPxxx | Fehler in Prozeduren, Variablen, etc. |
WLxxx | Fehler beim Laden bzw. Entladen |
WWxxx | Diverse SQL Anywhere-spezifische Fehler-/Warnmeldungen (einschließlich Systemstörungen) |
WOxxx | Funktionsbedingte Fehler beim Ferndatenzugriff |
WJxxx | JCS- und JDBC-bezogene Fehler |
WCxxx | Zeichenübersetzungsfehler |
WXxxx | XML-bezogene Fehler |
WTxxx | Textbezogene Fehler |
Die Klasse für den erfolgreichen Abschluss ist '00xxx' (Beispiel: '00000').
SQLSTATE und SQLCODE sind insofern aufeinander bezogen, als jeder SQLCODE einem SQLSTATE entspricht und jeder SQLSTATE einem oder mehreren SQLCODEs entsprechen kann.
Um eine Fehlerbedingung in Verbindung mit einem SQLSTATE zurückzugeben, können Sie die Funktion ERRORMSG verwenden. Weitere Hinweise finden Sie unter ERRORMSG-Funktion [Verschiedene].
Die SQLSTATE-Werte, die von SQL Anywhere verwendet werden, finden Sie unter SQL Anywhere-Fehlermeldungen - sortiert nach SQLSTATE.
SQL/2003: Kernfunktion SQLSTATE-Klassen (die ersten beiden Zeichen), die mit den Werten '0'-'4' und 'A'-'H' beginnen, sind im ANSI-Standard definiert. Andere Klassen werden in der Implementierung definiert. Ebenso gilt: Unterklassen, die mit den Werten '0'-'4' und 'A'-'H' beginnen, sind im ANSI-Standard definiert. Unterklassenwerte außerhalb dieser Bereiche werden in der Implementierung definiert.
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 |