Firebird Documentation IndexFirebird 2.5 Release Notes → SQLSTATE
Firebird Home Firebird Home Prev: Firebird 2.5 Project TeamsFirebird Documentation IndexUp: Firebird 2.5 Release NotesNext: Licence Notice

Appendix A: SQLSTATE

Table of Contents

SQLSTATE Codes & Messages

SQLSTATE Codes & Messages

In this Appendix are all of the SQLSTATE codes currently supported:

  1. The 5-character SQLSTATE code returned by the status array consists of SQL CLASS (2 characters) and SQL SUBCLASS (3 characters)

  2. Where existent and known, 1:1 mappings to the deprecated SQLCODE are included.

  3. In many cases, SQLCODE:SQLSTATE mappings are not 1:1, which is intentional on the part of the SQL Standards committee. It has been their aim, for many years, that the use of the SQLCODE be deprecated entirely.

SQLSTATE Code Mapped Message Maps to SQLCODE..
SQLCLASS 00 (Success)  
00000 Success  
SQLCLASS 01 (Warning)  
01000 General Warning  
01001 Cursor operation conflict  
01002 Disconnect error  
01003 NULL value eliminated in set function  
01004 String data, right-truncated  
01005 Insufficient item descriptor areas  
01006 Privilege not revoked  
01007 Privilege not granted  
01008 Implicit zero-bit padding  
01100 Statement reset to unprepared  
01101 Ongoing transaction has been committed  
01102 Ongoing transaction has been rolled back  
SQLCLASS 02 (No Data)  
02000 No data found or no rows affected  
SQLCLASS 07 (Dynamic SQL error)  
07000 Dynamic SQL error  
07001 Wrong number of input parameters  
07002 Wrong number of output parameters  
07003 Cursor specification cannot be executed  
07004 USING clause required for dynamic parameters  
07005 Prepared statement not a cursor-specification  
07006 Restricted data type attribute violation  
07007 USING clause required for result fields  
07008 Invalid descriptor count  
07009 Invalid descriptor index  
SQLCLASS 08 (Connection Exception)  
08001 Client unable to establish connection  
08002 Connection name in use  
08003 Connection does not exist  
08004 Server rejected the connection  
08006 Connection failure  
08007 Transaction resolution unknown  
SQLCLASS 0A (Feature Not Supported)  
0A000 Feature Not Supported  
SQLCLASS 0B (Invalid Transaction Initiation)  
0B000 Invalid transaction initiation  
SQLCLASS 0L (Invalid Grantor)  
0L000 Invalid grantor  
SQLCLASS 0P (Invalid Role Specification)  
0P000 Invalid role specification  
SQLCLASS 0U (Attempt to Assign to Non-Updatable Column)  
0U000 Attempt to assign to non-updatable column  
SQLCLASS 0V (Attempt to Assign to Ordering Column)  
0V000 Attempt to assign to Ordering column  
SQLCLASS 20 (Case Not Found For Case Statement)  
20000 Case not found for case statement  
SQLCLASS 21 (Cardinality Violation)  
21000 Cardinality violation  
21S01 Insert value list does not match column list  
21S02 Degree of derived table does not match column list  
SQLCLASS 22 (Data Exception)  
22000 Data exception  
22001 String data, right truncation  
22002 Null value, no indicator parameter  
22003 Numeric value out of range  
22004 Null value not allowed  
2205 Error in assignment  
2206 Null value in field reference  
2207 Invalid datetime format  
22008 Datetime field overflow  
22009 Invalid time zone displacement value  
2200A Null value in reference target  
2200B Escape character conflict  
2200C Invalid use of escape character  
2200D Invalid escape octet  
2200E Null value in array target  
2200F Zero-length character string  
2200G Most specific type mismatch  
22010 Invalid indicator parameter value  
22011 Substring error  
22012 Division by zero  
22014 Invalid update value  
22015 Interval field overflow  
22018 Invalid character value for cast  
22019 Invalid escape character  
2201B Invalid regular expression  
2201C Null row not permitted in table  
22020 Invalid limit value  
22021 Character not in repertoire  
22022 Indicator overflow  
22023 Invalid parameter value  
22024 Character string not properly terminated  
22025 Invalid escape sequence  
22026 String data, length mismatch  
22027 Trim error  
22028 Row already exists  
2202D Null instance used in mutator function  
2202E Array element error  
2202F Array data, right truncation  
SQLCLASS 23 (Integrity Constraint Violation)  
23000 Integrity constraint violation  
SQLCLASS 24 (Invalid Cursor State)  
24000 Invalid cursor state  
24504 The cursor identified in the UPDATE, DELETE, SET, or GET statement is not positioned on a row  
SQLCLASS 25 (Invalid Transaction State)  
25000 Invalid transaction state  
25 xxxx  
25S01 Transaction state  
25S02 Transaction is still active  
25S03 Transaction is rolled back  
SQLCLASS 26 (Invalid SQL Statement Name)  
26000 Invalid SQL statement name  
SQLCLASS 27 (Triggered Data Change Violation)  
27000 Triggered data change violation  
SQLCLASS 28 (Invalid Authorization Specification)  
28000 Invalid authorization specification  
SQLCLASS 2B (Dependent Privilege Descriptors Still Exist)  
2B000 Dependent privilege descriptors still exist  
SQLCLASS 2C (Invalid Character Set Name)  
2C000 Invalid character set name  
SQLCLASS 2D (Invalid Transaction Termination)  
2D000 Invalid transaction termination  
SQLCLASS 2E (Invalid Connection Name)  
2E000 Invalid connection name  
SQLCLASS 2F (SQL Routine Exception)  
2F000 SQL routine exception  
2F002 Modifying SQL-data not permitted  
2F003 Prohibited SQL-statement attempted  
2F004 Reading SQL-data not permitted  
2F005 Function executed no return statement  
SQLCLASS 33 (Invalid SQL Descriptor Name)  
33000 Invalid SQL descriptor name  
SQLCLASS 34 (Invalid Cursor Name)  
34000 Invalid cursor name  
SQLCLASS 35 (Invalid Condition Number)  
35000 Invalid condition number  
SQLCLASS 36 (Cursor Sensitivity Exception)  
36001 Request rejected  
36002 Request failed  
SQLCLASS 37 (Invalid Identifier)  
37000 Invalid identifier  
37001 Identifier too long  
SQLCLASS 38 (External Routine Exception)  
38000 External routine exception  
SQLCLASS 39 (External Routine Invocation Exception)  
39000 External routine invocation exception  
SQLCLASS 3B (Invalid Save Point)  
3B000 Invalid save point  
SQLCLASS 3C (Ambiguous Cursor Name)  
3C000 Ambiguous cursor name  
SQLCLASS 3D (Invalid Catalog Name)  
3D000 Invalid catalog name  
3D001 Catalog name not found  
SQLCLASS 3F (Invalid Schema Name)  
3F000 Invalid schema name  
SQLCLASS 40 (Transaction Rollback)  
40000 Ongoing transaction has been rolled back  
40001 Serialization failure  
40002 Transaction integrity constraint violation  
40003 Statement completion unknown  
SQLCLASS 42 (Syntax Error or Access Violation)  
42000 Syntax error or access violation  
42702 Ambiguous column reference  
42725 Ambiguous function reference  
42818 The operands of an operator or function are not compatible  
42S01 Base table or view already exists  
42S02 Base table or view not found  
42S11 Index already exists  
42S12 Index not found  
42S21 Column already exists  
42S22 Column not found  
SQLCLASS 44 (With Check Option Violation)  
44000 WITH CHECK OPTION Violation  
SQLCLASS 45 (Unhandled User-defined Exception)  
45000 Unhandled user-defined exception  
SQLCLASS 54 (Program Limit Exceeded)  
54000 Program limit exceeded  
54001 Statement too complex  
54011 Too many columns  
54023 Too many arguments  
SQLCLASS HY (CLI-specific Condition)  
HY000 CLI-specific condition  
HY001 Memory allocation error  
HY003 Invalid data type in application descriptor  
HY004 Invalid data type  
HY007 Associated statement is not prepared  
HY008 Operation canceled  
HY009 Invalid use of null pointer  
HY010 Function sequence error  
HY011 Attribute cannot be set now  
HY012 Invalid transaction operation code  
HY013 Memory management error  
HY014 Limit on the number of handles exceeded  
HY015 No cursor name available  
HY016 Cannot modify an implementation row descriptor  
HY017 Invalid use of an automatically allocated descriptor handle  
HY018 Server declined the cancellation request  
HY019 Non-string data cannot be sent in pieces  
HY020 Attempt to concatenate a null value  
HY021 Inconsistent descriptor information  
HY024 Invalid attribute value  
HY055 Non-string data cannot be used with string routine  
HY090 Invalid string length or buffer length  
HY091 Invalid descriptor field identifier  
HY092 Invalid attribute identifier  
HY095 Invalid FunctionId specified  
HY096 Invalid information type  
HY097 Column type out of range  
HY098 Scope out of range  
HY099 Nullable type out of range  
HY100 Uniqueness option type out of range  
HY101 Accuracy option type out of range  
HY103 Invalid retrieval code  
HY104 Invalid LengthPrecision value  
HY105 Invalid parameter type  
HY106 Invalid fetch orientation  
HY107 Row value out of range  
HY109 Invalid cursor position  
HY110 Invalid driver completion  
HY111 Invalid bookmark value  
HYC00 Optional feature not implemented  
HYT00 Timeout expired  
HYT01 Connection timeout expired  
SQLCLASS XX (Internal Error)  
XX000 Internal error  
XX001 Data corrupted  
XX002 Index corrupted  

Prev: Firebird 2.5 Project TeamsFirebird Documentation IndexUp: Firebird 2.5 Release NotesNext: Licence Notice
Firebird Documentation IndexFirebird 2.5 Release Notes → SQLSTATE