Appendix A: SQLSTATE
<< Firebird 2.5 project teams | Firebird 2.5.3 Release Notes | B. License notice >>
Appendix A: SQLSTATE
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 descripto 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 |
back to top of page
<< Firebird 2.5 project teams | Firebird 2.5.3 Release Notes | B. License notice >>