Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Sprachelemente » Spezialwerte

 

SQLSTATE-Spezialwert

SQLSTATE gibt an, ob die zuletzt ausgeführte SQL-Anweisung einen Erfolg, einen Fehler oder eine Warnung bewirkte.

Datentyp

Zeichenfolge

Bemerkungen

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.

Siehe auch
Standards und Kompatibilität
  • 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.