Listing of SQLSTATE values

The tables in this topic provide descriptions of SQLSTATE codes that can be returned to applications by DB2 for i. The tables include SQLSTATE values, their meanings, and their corresponding SQLCODE values.

Table 1. Class Code 00: Unqualified Successful Completion
SQLSTATE Value Meaning SQLCODE Values
00000 Execution of the operation was successful and did not result in any type of warning or exception condition. +000
Table 2. Class Code 01: Warning
SQLSTATE Value Meaning SQLCODE Values
01xxx Valid warning SQLSTATEs returned by an SQL routine. Also used for RAISE_ERROR and SIGNAL. +438
01002 A DISCONNECT error occurred. +596
01003 Null values were eliminated from the argument of an aggregate function. +000
01004 The value of a string was truncated when assigned to another string data type with a shorter length. +000, +445, +802, +20141
01005 Insufficient number of entries in an SQLDA. +239
01006 A privilege was not revoked. +569
01007 A privilege was not granted. +570
01009 The search condition is too long for the information schema. +177
0100A The query expression of the view is too long for the information schema. +178
0100C One or more ad hoc result sets were returned from the procedure. +466
0100D The cursor that was closed has been reopened on the next result set within the chain. +467
0100E The procedure returned too many result sets. +464, +20206
01503 The number of result columns is larger than the number of variables provided. +000, +030
01504 The UPDATE or DELETE statement does not include a WHERE clause. +000, +088
01505 The statement was not executed because it is unacceptable in this environment. +084, +143
01506 An adjustment was made to a DATE or TIMESTAMP value to correct an invalid date resulting from an arithmetic operation. +000
01515 The null value has been assigned to a variable, because the non-null value of the column is not within the range of the variable. +304
01517 A character that could not be converted was replaced with a substitute character. +335
01519 The null value has been assigned to a variable, because a numeric value is out of range. +802
01520 The null value has been assigned to a variable, because the characters cannot be converted. +331
01522 The local table or view name used in the CREATE ALIAS statement is undefined. +403
01526 Isolation level has been escalated. +595
01527 A SET statement references a special register that does not exist at the AS. +799
01528 WHERE NOT NULL is ignored, because the index key cannot contain null values. +645
01532 An undefined object name was detected. +204
01534 The string representation of a datetime value is invalid. +180, +181
01535 An arithmetic operation on a date or timestamp has a result that is not within the valid range of dates. +183
01536 During remote bind where existence checking is deferred, the server-name specified does not match the current server. +114
01539 Connection is successful but only SBCS characters should be used. +863
01542 Authorization ID does not have the privilege to perform the operation as specified. +552
01544 The null value has been assigned to a variable, because a substring error occurred; for example, an argument of SUBSTR is out of range. +138
01545 An unqualified column name has been interpreted as a correlated reference. +012
01547 A mixed data value is improperly formed. +191, +304, +802
01548 The authorization ID does not have the privilege to perform the specified operation on the identified object. +551
01557 Too many variables have been specified on SELECT INTO or FETCH. +326
01564 The null value has been assigned to a variable, because division by zero occurred. +802
01565 The null value has been assigned to a variable, because a miscellaneous data exception occurred. For example, the character value for the CAST, DECIMAL, FLOAT, or INTEGER scalar function is invalid; a floating-point NAN (not a number); invalid data in a packed decimal field; or a mask mapping error was detected. +304, +420, +20365, +802
01567 The table was created but not journaled. +7905
01587 The unit of work was committed or rolled back, but the outcome is not fully known at all sites. +990
01593 An ALTER TABLE may cause data truncation. +460
01594 Insufficient number of entries in an SQLDA for ALL information (i.e. not enough descriptors to return the distinct name). +237
01614 There are fewer locators than the number of result sets. +494
01623 The value of DEGREE is ignored. +1530
01627 The DATALINK value may not be valid because the table is in reconcile pending or reconcile is not a possible state. +360
01634 The distinct data type name is too long and cannot be returned in the SQLDA. The short name is returned instead. +7036
01643 Assignment to SQLCODE or SQLSTATE variable does not signal a warning or error. +385
01646 A result sets could not be returned because the cursor was closed. +7050
01647 A DB2SQL BEFORE trigger changed to DB2ROW. +7051
01658 Binary data is invalid for DECRYPT_CHAR and DECYRYPT_DB. +20224
01660 The routine was created but a restore will not update the catalog. +7909
01662 Release record option ignored on CLOSE. +30107
01676 Transfer operation ignored since the authorization ID is already the owner of the database object. +20341
01680 The option is not supported in the context in which it was specified. +20367
01685 An invalid use of a NOT DETERMINISTIC or EXTERNAL ACTION function was detected. +583
01687 A database resource was not available. Processing continues. +904
0168C A decimal float operation produced an inexact result. +364
0168D A decimal floating point operation was invalid. +364
0168E A decimal float operation produced an overflow or underflow. +364
0168F A decimal float operation produced division by zero. +364
0168G A decimal float operation produced a subnormal number. +364
0168I The SQL statement does conform to the specified flagging level. +362
0168P An associated mixed or graphic CCSID does not exist for the default job CCSID. +20446
0168R The text index may be out of date. +20455
0168U Result sets will not be returned to the client because the procedure was called directly or indirectly from a function or trigger. +20463
01693 PROGRAM TYPE SUB changed to PROGRAM TYPE MAIN. +7057
01695 Adjustment made to a value for a period as a result of a data change operation. +20528
01698 Permissions or masks of a materialized query table or history table might require changes as a result of changes to permissions or masks of the table on which it is based. +20538
01Hxx Valid warning SQLSTATEs returned by a user-defined function, external procedure CALL, or command invocation. +462
Table 3. Class Code 02: No Data
SQLSTATE Value Meaning SQLCODE Values
02000 One of the following exceptions occurred:
  • The result of the SELECT INTO statement or the subselect of the INSERT statement was an empty table.
  • If this is an UPDATE, INSERT, DELETE, or MERGE statement, no rows satisfy the subselect, WHERE clause, or MERGE criteria. No rows were updated, inserted, or deleted.
  • The position of the cursor referenced in the FETCH statement was after the last row of the result table.
  • The fetch orientation is invalid.
+100
02001 No additional result sets returned. +387
02503 The procedure identified in an ALLOCATE CURSOR statement did not return hoc result sets. +482
02505 The GET DESCRIPTOR VALUE is greater than COUNT. +20298
Table 4. Class Code 07: Dynamic SQL Error
SQLSTATE Value Meaning SQLCODE Values
07001 The number of variables is not correct for the number of parameter markers. -313
07002 The call parameter list or control block is invalid. -804
07003 The statement identified in the EXECUTE statement is a select-statement, or is not in a prepared state. -518
07004 The USING clause or INTO clause is required for dynamic parameters. -313
07005 The statement name of the cursor identifies a prepared statement that cannot be associated with a cursor. -517
07006 An input variable, transition variable, or parameter marker cannot be used, because of its data type. -301
07008 The descriptor count is invalid. -074
07009 The descriptor index is invalid. -075
0700C Undefined DATA value. -822
0700E Invalid LEVEL specified in SET DESCRIPTOR statement. -804
0700F Invalid DATETIME_INTERVAL_CODE specified in SET DESCRIPTOR statement. -804
Table 5. Class Code 08: Connection Exception
SQLSTATE Value Meaning SQLCODE Values
08001 The connection was unable to be established to the application server or other server. -30080, -30081, -30082, -30089
08002 The connection already exists. -842
08003 The connection does not exist. -843, -900
08004 The application server rejected establishment of the connection. -30060, -30061
08501 A DISCONNECT is not allowed when the connection uses an LU6.2 protected conversation. -858
Table 6. Class Code 09: Triggered Action Exception
SQLSTATE Value Meaning SQLCODE Values
09000 A triggered SQL statement failed. -723
Table 7. Class Code 0A: Feature Not Supported
SQLSTATE Value Meaning SQLCODE Values
0A001 The CONNECT statement is invalid, because the process is not in the connectable state. -752
Table 8. Class Code 0E: Invalid Schema Name List Specification
SQLSTATE Value Meaning SQLCODE Values
0E000 The path name list is not valid. -329
Table 9. Class Code 0F: Invalid Token
SQLSTATE Value Meaning SQLCODE Values
0F001 The locator value does not currently represent any value. -423
Table 10. Class Code 0K: Resignal When Handler Not Active
SQLSTATE Value Meaning SQLCODE Values
0K000 A RESIGNAL was issued but a handler is not active. -787
Table 11. Class Code 0N: SQL/XML Mapping Error
SQLSTATE Value Meaning SQLCODE Values
0N002 A character cannot be mapped to a valid XML character. -20377
Table 12. Class Code 0W: Prohibited Statement Encountered During Trigger
SQLSTATE Value Meaning SQLCODE Values
0W000 The statement is not allowed in a trigger. -751
Table 13. Class Code 0Z: Diagnostics Exception
SQLSTATE Value Meaning SQLCODE Values
0Z001 Maximum number of stacked diagnostics areas exceeded. -20226
0Z002 Stacked diagnostics accessed without and active handler. -20228
Table 14. Class Code 10: XQuery Error
SQLSTATE Value Meaning SQLCODE Values
10501 An XQuery expression is missing the assignment of a static or dynamic context component. -16000, -16001
10502 An error was encountered in the prolog of an XQuery expression. -16048
10503 A duplicate name was defined in an XQuery or XPath expression. -16023, -16024
10504 An XQuery namespace declaration specified an invalid URI. -16036
10505 A character, token or clause is missing or invalid in an XQuery expression. -16002, -16007
10506 An XQuery expression references a name that is not defined. -16005, -16009
10507 A type error was encountered processing an XPath or XQuery expression. -16003, -16011, -16012, -16020, -16022
10509 An unsupported XQuery language feature is specified. -16031
10601 An arithmetic error was encountered processing an XQuery function or operator. -16046, -16047
10602 A casting error was encountered processing an XQuery function or operator. -16049, -16051, -16052
10605 A datetime error was encountered processing an XQuery function or operator. -16055, -16056, -16057
10608 An error was encountered in the argument of an XQuery function or operator. -16038, -16041, -16061, -16066
10609 A regular expression error was encountered processing an XQuery function or operator. -16067, -16068, -16069
Table 15. Class Code 20: Case Not Found for Case Statement
SQLSTATE Value Meaning SQLCODE Values
20000 The case was not found for the CASE statement. -773
Table 16. Class Code 21: Cardinality Violation
SQLSTATE Value Meaning SQLCODE Values
21000 The result of a SELECT INTO, scalar fullselect, or subquery of a basic predicate is more than one value. -811
21506 The same row of the target table was identified more than once for an update, delete, or insert operation of the MERGE statement. -788
Table 17. Class Code 22: Data Exception
SQLSTATE Value Meaning SQLCODE Values
22001 Character data, right truncation occurred; for example, an update or insert value is a string that is too long for the column, or a datetime value cannot be assigned to a variable, because it is too small. -302, -303, -404, -433, -802
22002 A null value, or the absence of an indicator parameter was detected; for example, the null value cannot be assigned to a variable, because no indicator variable is specified. -305
22003 A numeric value is out of range. -302, -304, -406, -413, -446, -802
22004 A null value is not allowed. -087, -305
22005 An error occurred on assignment. -076
22006 The fetch orientation is invalid. -231
22007 An invalid datetime format was detected; that is, an invalid string representation or value was specified. -180, -181, -20447, -20448
22008 Datetime field overflow occurred; for example, an arithmetic operation on a date or timestamp has a result that is not within the valid range of dates. -183
2200E Null value in array target. -20439
2200L The XML value is not a well-formed document with a single root element. -20345
2200M The XML document is not valid. -16104, -16168, -20398, -20400
2200S The XML comment is not valid. -20331
2200T The XML processing instruction is not valid. -20332
2200W An XML value contained data that could not be serialized. -20412
22010 Invalid indicator parameter value. -363
22011 A substring error occurred; for example, an argument of SUBSTR or SUBSTRING is out of range. -138
22012 Division by zero is invalid. -802
22014 Invalid argument for NTILE function. -171
22016 Invalid argument for NTH_VALUE function. -171
22018 The character value for a CAST specification or cast scalar function is invalid. -420
22019 The LIKE predicate has an invalid escape character. -130
2201R The XML document is not valid. -20399
2201S Invalid XQuery regular expression. -20558
2201T Invalid option flag associated with regular expression. -171
2201V Invalid replacement string for matched regular expression. -171
2201W The row count in the FETCH FIRST clause or LIMIT clause is invalid. -20539
2201X The row count in the result OFFSET clause is invalid. -20539
22021 A character is not in the coded character set or the conversion is not supported. -330, -331
22023 A parameter or variable value is invalid. -302, -304, -406, -802
22024 A NUL-terminated input host variable or parameter did not contain a NUL. -302
22025 The LIKE predicate string pattern contains an invalid occurrence of an escape character. -130
2202E Array element error. -20439
2202F Array data, right truncation. -20440
22501 The length control field of a variable length string is negative or greater than the maximum. -311
22502 Signalling NaN was encountered. -20365
22503 The string representation of a name is invalid. -188
22504 A mixed data value is invalid. -191, -304, -406, -802
22511 The value for a ROWID or reference column is not valid. -399
22522 A CCSID value is not valid at all, not valid for the data type or subtype, or not valid for the encoding scheme. -189
22524 Character conversion resulted in truncation -334
22525 Partitioning key value is not valid. -327
22527 Invalid input data detected for a multiple-row insert. -30106
22528 Binary data is invalid for DECRYPT_CHAR and DECYRYPT_DB. -20224
22534 An XML schema document is not connected to the other XML schema documents using an include or redefine. -20340
22535 The XML schema does not declare the specified global element. -20346
22536 The XML value does not contain the required root element. -20347
22539 Invalid use of extended indicator parameter value. -365
22540 An update operation cannot have all columns set to be unassigned. -20434
22542 The INSERT or UPDATE in not allowed because a resulting row does not satisfy row permissions. -20471
22546 The value for a routine argument is not valid. -171
22547 Multiple result values cannot be returned from the scalar function. -20556
225D1 The specified XML schema is not enabled for decomposition. -16265
225D2 An SQL Error occurred during decomposition of an XML document. -16266
225DE An XML schema cannot be enabled for decomposition. -16246, -16247, -16248, -16249, -16250, -16251, -16252, -16253, -16254, -16255, -16257, -16258, -16259, -16260, -16262, -16263, -16264, -16277
225X0 XSLT processor error. -16280
Table 18. Class Code 23: Constraint Violation
SQLSTATE Value Meaning SQLCODE Values
23001 The update or delete of a parent key is prevented by a RESTRICT update or delete rule. -531, -532
23502 An insert or update value is null, but the column cannot contain null values. -407
23503 The insert or update value of a foreign key is invalid. -530
23504 The update or delete of a parent key is prevented by a NO ACTION update or delete rule. -531, -532
23505 A violation of the constraint imposed by a unique index or a unique constraint occurred. -803
23507 A violation of a constraint imposed by a field procedure occurred. -681
23511 A parent row cannot be deleted, because the check constraint restricts the deletion. -543
23512 The check constraint cannot be added, because the table contains rows that do not satisfy the constraint definition. -544
23513 The resulting row of the INSERT or UPDATE does not conform to the check constraint definition. -545
23515 The unique index could not be created or unique constraint added, because the table contains duplicate values of the specified key. -603
23520 The foreign key cannot be defined, because all of its values are not equal to a parent key of the parent table. -667
23522 The range of values for the identity column or sequence is exhausted. -359
Table 19. Class Code 24: Invalid Cursor State
SQLSTATE Value Meaning SQLCODE Values
24501 The identified cursor is not open. -501, -507
24502 The cursor identified in an OPEN statement is already open. -502, -7055
24504 The cursor identified in the UPDATE, DELETE, SET, or GET statement is not positioned on a row. -508
24506 The statement identified in the PREPARE is the statement of an open cursor. -519
24507 FETCH CURRENT was specified, but the current row is deleted, or a value of an ORDER BY column of the current row has changed. -226
24513 FETCH NEXT, PRIOR, CURRENT, or RELATIVE is not allowed, because the cursor position is not known. -227
24514 A previous error has disabled this cursor. -906
24516 A cursor has already been assigned to a result set. -499
Table 20. Class Code 25: Invalid Transaction State
SQLSTATE Value Meaning SQLCODE Values
25000 An insert, update, or delete operation or procedure call is invalid in the context where it is specified. -30090
25001 The statement is only allowed as the first statement in a unit of work. -428
25006 An update operation is not valid because the transaction is read only. -817
Table 21. Class Code 26: Invalid SQL Statement Identifier
SQLSTATE Value Meaning SQLCODE Values
26501 The statement identified does not exist. -514, -516
26510 The statement name specified in a DECLARE CURSOR already has a cursor allocated to it. -5023
Table 22. Class Code 27: Triggered Data Change Violation
SQLSTATE Value Meaning SQLCODE Values
27000 An attempt was made to change the same row in the same table in the same SQL statement more than once. -907
Table 23. Class Code 28: Invalid Authorization Specification
SQLSTATE Value Meaning SQLCODE Values
28000 Authorization name is invalid. -113, -188
Table 24. Class Code 2D: Invalid Transaction Termination
SQLSTATE Value Meaning SQLCODE Values
2D522 COMMIT and ROLLBACK are not allowed in an ATOMIC Compound statement. -774
2D528 Dynamic COMMIT or COMMIT ON RETURN procedure is invalid for the application execution environment -426, -30090
2D529 Dynamic ROLLBACK is invalid for the application execution environment. -427, -30090
Table 25. Class Code 2E: Invalid Connection Name
SQLSTATE Value Meaning SQLCODE Values
2E000 Connection name is invalid. -113, -188, -251
Table 26. Class Code 2F: SQL Function Exception
SQLSTATE Value Meaning SQLCODE Values
2F002 The SQL function attempted to modify data, but the function was not defined as MODIFIES SQL DATA. -577
2F003 The statement is not allowed in a function, procedure, or dynamic compound statement. -751
2F004 The SQL function attempted to read data, but the function was not defined as READS SQL DATA. -579
2F005 The function did not execute a RETURN statement. -578
Table 27. Class Code 33: Invalid SQL Descriptor Name
SQLSTATE Value Meaning SQLCODE Values
33000 SQL descriptor name is invalid. -077
Table 28. Class Code 34: Invalid Cursor Name
SQLSTATE Value Meaning SQLCODE Values
34000 Cursor name is invalid. -504
Table 29. Class Code 35: Invalid Condition Number
SQLSTATE Value Meaning SQLCODE Values
35000 Condition number is invalid. -393
Table 30. Class Code 36: Cursor Sensitivity Exception
SQLSTATE Value Meaning SQLCODE Values
36001 A SENSITIVE cursor cannot be defined for the specified select-statement. -243
Table 31. Class Code 38: External Function Exception
SQLSTATE Value Meaning SQLCODE Values
XXXXX Valid error SQLSTATEs returned by an SQL routine. Also used for RAISE_ERROR and SIGNAL. -438
38xxx Valid error SQLSTATEs returned by an external routine or trigger. -443
38000 A Java routine has exited with an exception. -4302
38001 The external routine is not allowed to execute SQL statements. -487
38002 The external routine attempted to modify data, but the routine was not defined as MODIFIES SQL DATA. -577
38003 The statement is not allowed in a routine. -751
38004 The external routine attempted to read data, but the routine was not defined as READS SQL DATA. -579
38501 Error occurred while calling a user-defined function, procedure, or trigger (using the SIMPLE CALL or SIMPLE CALL WITH NULLS calling convention). -443
38H10 Error occurred during text search processing. -20423
38H11 Text search support is not available. -20424
38H12 Text search is not allowed on a column because a text search index does not exist on the column. -20425
38H13 A conflicting search administration procedure or command is running on the same text search index. -20426
38H14 Text search administration procedure error. -20427
Table 32. Class Code 39: External Function Call Exception
SQLSTATE Value Meaning SQLCODE Values
39004 A null value is not allowed for an IN or INOUT argument when using PARAMETER STYLE GENERAL or an argument that is a Java primitive type. -470, -20205
Table 33. Class Code 3B: Savepoint Exception
SQLSTATE Value Meaning SQLCODE Values
3B001 The savepoint is not valid. -880
3B002 The maximum number of savepoints has been reached. -20112
3B501 A duplicate savepoint name was detected. -881
3B502 A RELEASE or ROLLBACK TO SAVEPOINT was specified, but a savepoint does not exist. -882
3B504 A SAVEPOINT is not allowed because a resource is registered that does not support savepoints. -175
Table 34. Class Code 3C: Ambiguous Cursor Name
SQLSTATE Value Meaning SQLCODE Values
3C000 The cursor name is ambiguous. -051
Table 35. Class Code 3F: Invalid Schema Name
SQLSTATE Value Meaning SQLCODE Values
3F000 The schema name is invalid. -713
Table 36. Class Code 42: Syntax Error or Access Rule Violation
SQLSTATE Value Meaning SQLCODE Values
42501 The authorization ID does not have the privilege to perform the specified operation on the identified object. -551
42502 The authorization ID does not have the privilege to perform the operation as specified. -552, -20379
42506 Owner authorization failure occurred. -30053
42601 A character, token, or clause is invalid or missing. -007, -011, -029, -097, -104, -109, -115, -123, -172, -128, -199, -441, -491
42602 A character that is invalid in a name has been detected. -113, -567, -251
42603 An unterminated string constant has been detected. -010
42604 An invalid numeric or string constant has been detected. -103, -105
42605 The number of arguments specified for a scalar function is invalid. -170
42606 An invalid hexadecimal constant has been detected. -110
42607 An operand of an aggregate function or CONCAT operator is invalid. -112
42608 The use of NULL or DEFAULT in VALUES or an assignment statement is invalid. -584
42609 All operands of an operator or predicate are parameter markers. -417
42610 A parameter marker or the null value is not allowed. -184, -418
42611 The column, argument, parameter, or global variable definition is invalid. -106, -604, -4903, -4905, -4917
42612 The statement string is an SQL statement that is not acceptable in the context in which it is presented. -084, -142
42613 Clauses are mutually exclusive. -628, -20038
42614 A duplicate keyword or clause is invalid. -637
42615 An invalid alternative was detected. -644
42616 Invalid options are specified. -5047
42617 The statement string is blank or empty. -198
42618 A variable is not allowed. -090, -312, -5012, -5024
42620 Read-only SCROLL was specified with the UPDATE clause. -228
42621 The check constraint or generated column expression is invalid. -546
42622 A name or label is too long. -107
42623 A DEFAULT clause cannot be specified. -373
42625 A CASE expression is invalid. -580
42629 Parameter names must be specified for SQL routines. -078
42631 An expression must be specified on a RETURN statement in an SQL function. -057
42633 An AS clause is required for an argument of XMLATTRIBUTES or XMLFOREST. -20227
42634 The XML name is not valid. -20275
42635 The XML namespace prefix is not valid. -20276
42636 The BY REF or BY VALUE clause is missing or used incorrectly. -20337
42638 An obfuscated statement is not valid. -20530
42701 The same target is specified more than once for assignment in the same SQL statement. -121
42702 A column reference is ambiguous, because of duplicate names. -203
42703 An undefined column or parameter name was detected. -205, -206, -213, -5001
42704 An undefined object or constraint name was detected. -204
42705 An undefined server-name was detected. -950
42707 A column name in ORDER BY does not identify a column of the result table. -208
42709 A duplicate column name was specified in a key column list. -537
42710 A duplicate object or constraint name was detected. -456, -601
42711 A duplicate column name was detected in the object definition or ALTER TABLE statement. -612
42712 A duplicate table designator was detected in the FROM clause or REFERENCING clause of a CREATE TRIGGER statement. -212
42713 A duplicate object was detected in a list or is the same as an existing object. -242
42718 The local server name is not defined. -250
42723 A routine with the same signature already exists in the schema, module, or compound block where it is defined. -454
42724 Unable to access an external program used for a user-defined function or a procedure. -444, -4300, -4303, -4304, -4306
42725 A routine was referenced directly (not by either signature or by specific instance name), but there is more than one specific instance of that routine. -476
42726 Duplicate names for common table expressions were detected. -340
42732 A duplicate schema name in a special register was detected. -585
42733 A procedure with the specified name cannot be added to the schema because the procedure overloading is not allowed in this database and there is already a procedure with the same name in the schema. -484
42734 A duplicate parameter-name, SQL variable name, label, or condition-name was detected. -590
42736 The label specified on the GOTO, ITERATE, or LEAVE statement is not found or not valid. -779
42737 The condition specified is not defined. -781
42738 A duplicate column name or unnamed column was specified in a DECLARE CURSOR statement of a FOR statement. -783
42747 The same descriptor item was specified more than once in the same SET DESCRIPTOR statement. -20299
42749 An XML schema document with the same target namespace and schema location already exists for the XML schema. -20328
4274A An XSROBJECT is not found in the XML schema repository. -20330
4274B A unique XSROBJECT could not be found in the XML schema repository. -20335
4274K Invalid use of a named argument when invoking a routine. -20483
4274M An undefined period name was detected. -20527
42802 The number of target values is not the same as the number of source values. -117
42803 A column reference in the SELECT or HAVING clause is invalid, because it is not a grouping column; or a column reference in the GROUP BY clause is invalid. -119, -122
42804 The result expressions in a CASE expression are not compatible. -581
42805 An integer in the ORDER BY clause does not identify a column of the result table. -125
42806 A value cannot be assigned to a variable, because the data types are not compatible. -303
42807 The data-change statement is not permitted on this object. -150, -155
42808 A column identified in the INSERT or UPDATE operation is not updatable. -151
42809 The identified object is not the type of object to which the statement applies. -152, -156, -159
42810 A base table is not identified in a FOREIGN KEY clause. -157
42811 The number of columns specified is not the same as the number of columns in the SELECT clause. -158
42812 A library name is required in CREATE TABLE in the system naming mode. -5002
42813 WITH CHECK OPTION cannot be used for the specified view. -160
42814 The column cannot be dropped, because it is the only column in the table. -195
42815 The data type, length, scale, value, or CCSID is invalid. -060, -171, -451, -713, -846, -5005, -20338
42816 A datetime value or duration in an expression is invalid. -182, -187
42817 The column cannot be dropped because a view or constraint is dependent on the column, the column is part of a partitioning key, or is a security label column. -196
42818 The operands of an operator or function are not compatible or comparable. -131, -401
42819 An operand of an arithmetic operation or an operand of a function that requires a number is invalid. -402
42820 A numeric constant is too long, or it has a value that is not within the range of its data type. -405, -410
42821 A data type for an assignment to a column or variable is not compatible with the data type. -408
42822 An expression in the ORDER BY clause or GROUP BY clause is not valid. -214
42823 Multiple columns are returned from a subquery that only allows one column. -412
42824 An operand of LIKE is not a string, or the first operand is not a column. -132, -414
42825 The rows of UNION, INTERSECT, EXCEPT, or VALUES do not have compatible columns. -415
42826 The rows of UNION, INTERSECT, EXCEPT, or VALUES do not have the same number of columns. -421
42827 The table identified in the UPDATE or DELETE is not the same table designated by the cursor. -509
42828 The table designated by the cursor of the UPDATE or DELETE statement cannot be modified, or the cursor is read-only. -510, -520
42829 FOR UPDATE OF is invalid, because the result table designated by the cursor cannot be modified. -511
42830 The foreign key does not conform to the description of the parent key. -538
42831 Null values are not allowed in a column of a primary key, a column of a unique key, a ROWID column, a row change timestamp column, a row-begin column, a row-end column, or a column of an application period. -542, -593
42832 The operation is not allowed on system objects. -607
42833 The qualified object name is inconsistent with the naming option. -5016
42834 SET NULL cannot be specified, because no column of the foreign key can be assigned the null value. -629
42835 Cyclic references cannot be specified between named derived tables. -341
42836 The specification of a recursive, named derived table is invalid. -345, -346
42837 The column cannot be altered, because its attributes are not compatible with the current column attributes. -190
42841 An untyped expression cannot be a user-defined type or reference type. -432
42842 A column or parameter definition is invalid, because a specified option is inconsistent with the column description. -683
42845 An invalid use of a NOT DETERMINISTIC or EXTERNAL ACTION function was detected. -583
42846 Cast from source type to target type is not supported. -461
42847 An OVRDBF command was issued for one of the referenced files, but one of the parameters is not valid for SQL. -7002
42848 Isolation level CS WITH KEEP LOCKS is not allowed. -194
42849 The specified option is not supported for routines. -20102
42850 A logical file is invalid in CREATE VIEW. -7010
42851 A referenced file is not a table, view, or physical file. -7011
42852 The privileges specified in GRANT or REVOKE are invalid or inconsistent. (For example, GRANT ALTER on a view.) -557
42854 A result column data type in the select list is not compatible with the defined type in a typed view or materialized query table definition. -20055
42855 The assignment of the LOB or XML to this variable is not allowed. The target variable for all fetches of a LOB or XML value for this cursor must be the same for all FETCHes. -392
42857 A referenced file has more than one format or data space. -7003
42858 Operation cannot be applied to the specified object. -7001
42860 The constraint cannot be dropped because it is enforcing a primary key or ROWID. -784
42862 An extended dynamic statement cannot be executed against a non-extended dynamic package. -827
42863 An undefined host variable in REXX has been detected. -306
42866 The data type in either the RETURNS clause or the CAST FROM clause in the CREATE FUNCTION statement is not appropriate for the data type returned from the sourced function or RETURN statement in the function body. -475
42872 FETCH statement clauses are incompatible with the cursor definition. -225
42873 An invalid number of rows was specified in a multiple-row FETCH or multiple-row INSERT. -221
42874 ALWCPYDTA(*NO) was specified, but a copy is necessary to implement the select-statement. -527
42875 The schema-name portion of a qualified name must be the same name as the schema name. -5051
42876 Different CCSIDs for keys in CREATE INDEX are only allowed with a *HEX collating sequence. -7024
42877 The column name cannot be qualified. -197
42878 An invalid function or procedure name was used with the EXTERNAL keyword. -449
42879 The data type of one or more input parameters in the CREATE FUNCTION statement is not appropriate for the corresponding data type in the source function. -492
42880 The CAST TO and CAST FROM data types are incompatible, or would always result in truncation of a fixed string. -453
42881 Invalid use of a function. -391
42882 The specific instance name qualifier is not equal to the function name qualifier. -455
42883 No routine was found with a matching signature. -458
42884 No routine was found with the specified name and compatible arguments. -440
42885 The number of input parameters specified on a CREATE FUNCTION statement does not match the number provided by the function named in the SOURCE clause. -483
42886 The IN, OUT, or INOUT parameter attributes do not match. -469
42887 The function or table-reference is not valid in the context where it occurs. -390
42888 The table does not have a primary key. -539
42889 The table already has a primary key. -624
42890 A column list was specified in the references clause, but the identified parent table does not have a unique constraint with the specified column names. -573
42891 A duplicate constraint already exists. -541
42892 The referential constraint and trigger are not allowed, because the DELETE rule and trigger event are not compatible. -675
42893 The object or constraint cannot be dropped, altered, or transferred or authorities cannot be revoked from the object, because other objects are dependent on it. -478, -616
42894 The value of a column or sequence attribute is invalid. -574
42895 For static SQL, an input variable cannot be used, because its data type is not compatible with the parameter of a procedure or user-defined function. -301
42896 The ASP number is invalid. -7026
42898 An invalid correlated reference or transition table was detected in a trigger. -696
42899 Correlated references and column names are not allowed for triggered actions with the FOR EACH STATEMENT clause. -697
428A1 Unable to access a file referenced by a file reference variable. -452
428B3 An invalid SQLSTATE was specified. -435
428B7 A number specified in an SQL statement is out of the valid range. -490
428B8 The name specified on a rename is not valid. -7029
428BA WITHOUT RETURN cursors must not be specified in SET RESULT SETS. -20236
428C1 The data type or attribute of a column can only be specified once for a table. -372
428C4 The number of elements on each side of the predicate operator is not the same. -216
428C7 A ROWID or reference column specification is not valid or used in an invalid context. -771
428C9 A column defined as GENERATED ALWAYS cannot be specified as the target column of an insert or update operation. -798
428D1 Unable to access a file referenced by a DATALINK value. -358
428D2 AS LOCATOR cannot be specified for a non-LOB parameter. -398
428D4 A cursor specified in a FOR statement cannot be referenced in an OPEN, CLOSE, or FETCH statement. -776
428D5 The ending label does not match the beginning label. -778
428D6 UNDO is not allowed for NOT ATOMIC compound statements. -780
428D7 The condition value is not allowed. -782
428D8 The sqlcode or sqlstate variable declaration is not valid. -785
428DE The PAGESIZE value is not supported. -1583
428EC The fullselect specified for the materialized query table is not valid. -20058
428EK The schema qualifier is not valid. -079
428EW The table cannot be converted to or from a materialized query table. -20093
428EZ A window specification for an OLAP function is not valid. -20117
428F1 An SQL TABLE function must return a table result. -20120
428F2 An integer expression must be specified on a RETURN statement in an SQL procedure. -058
428F5 The invocation of a routine is ambiguous. -245
428F9 A sequence expression cannot be specified in this context. -348
428FA The scale of the decimal number must be zero. -336
428FC The length of the encryption password is not valid. -20144
428FD The password used for decryption does not match the password used to encrypt the data. -20145
428FE The data is not a result of the ENCRYPT function. -20146
428FI The ORDER OF clause was specified, but the referenced table designator is not ordered. -20214
428FJ ORDER BY or FETCH FIRST is not allowed in the outer fullselect of a view or materialized query table. -20211
428FL A data change statement is not allowed in the context in which it was specified. -20165
428FM An SQL data change statement within a SELECT specified a view which is not a symmetric view. -20166
428FP Only one INSTEAD OF trigger is allowed for each kind of operation on a view. -20178
428FQ An INSTEAD OF trigger cannot be created because of how the view is defined. -20179
428FR A column cannot be altered as specified. -20180
428FT The partitioning clause specified on CREATE or ALTER is not valid. -20183
428FY A column cannot be added, dropped, or altered in a materialized query table. -20235
428G0 A logical file prevents the alter. -20246
428G2 The last data partition cannot be dropped or detached from the table. -20251
428G3 FINAL TABLE is not valid when the target view of the SQL data change statement in a fullselect has an INSTEAD OF trigger defined. -20257
428G4 Invalid use of INPUT SEQUENCE ordering. -20258
428G6 A column is specified that cannot be selected from the target of the data change statement in the FROM clause of the fullselect. -20259
428GE The source table cannot be attached to the partitioned target table. -20307, -20408
428GI An XML schema is not complete because an XML schema document is missing. -20329
428GJ The table cannot be truncated because DELETE triggers exist for the table or the table is a parent table of a referential constraint that would be affected by the statement. -20356
428GU A table must include at least one column that is not implicitly hidden. -20422
428GX A global variable cannot be set or referenced in this context. -20430
428H0 The array index cannot be applied to an object whose type is not ARRAY. -20437
428H1 The data type of an array index expression is not valid for the array. -20438
428H2 Data type is not supported in the context where it is being used. -20441
428H4 A hierarchical query construct is used out of context. -20452
428H5 The specified join operation is not valid. -20454
428H8 The object must be defined as secure because another object depends on it for row-level or column-level access control. -20470
428H9 PERMISSION or MASK cannot be altered. -20472
428HA An argument of a user-defined function must not reference a column for which a column mask is defined. -20473
428HB A permission or mask cannot be created on the specified object. -20474
428HC A column mask is already defined for the specified column. -20475
428HD The statement cannot be processed because a column mask cannot be applied or the definition of the mask conflicts with the statement. -20478
428HF The invocation of the routine omits a parameter which is not defined with a DEFAULT. -20484
428HM The table cannot be used as a system-period temporal table or an enabled archive table. -20490
428HN The period specification is not valid. -20491
428HX The table is not valid for a history table or archive table. -20523
428HY The period specification or period condition is not valid. -20524
428HZ The temporal attribute of the table was not valid for the specified ALTER operation. -20525
428I3 A global variable identified as the target of an assignment is a read only global variable. -20547
428I9 An argument of the function must not contain a column reference. -123
42902 The object of the INSERT, UPDATE, or DELETE is also identified (possibly implicitly through a view) in a FROM clause. -118
42903 Invalid use of an aggregate function or OLAP function. -120
42904 The SQL procedure was not created because of a compile error. -7032
42906 An aggregate function in a subquery of a HAVING clause includes an expression that applies an operator to a correlated reference. -133
42907 The string is too long in the context it was specified. -134
42908 The statement does not include a required column list. -153, -343
42910 The statement is not allowed in a Compound statement. -775
42911 A decimal divide operation is invalid, because the result would have a negative scale. -419
42912 A column cannot be updated, because it is not identified in the UPDATE clause of the select-statement of the cursor. -503
42914 The DELETE is invalid, because a table referenced in a subquery can be affected by the operation. -536
42917 The object cannot be explicitly dropped, altered, or replaced. -658, -20479
42918 A user-defined data type cannot be created with a system-defined data type name (for example, INTEGER). -473
42922 DROP SCHEMA cannot be executed under commitment control. -5003
42923 Program or package must be recreated to reference an alias-name. -7033
42924 An alias resolved to another alias rather than a table or view at the remote location. -513
42925 Recursive named derived tables cannot specify SELECT DISTINCT and must specify UNION ALL. -342
42926 Locators are not allowed with COMMIT(*NONE). -7034
42927 The function cannot be altered to NOT DETERMINISTIC or EXTERNAL ACTION because it is referenced by one or more existing views. -20073
42928 WITH EMPTY TABLE cannot be specified. -1596
42929 FOR ALL PARTITIONS is not allowed for an encoded vector index. -20489
42930 The same column was identified in FOR UPDATE OF and ORDER BY. -5021
42932 The program preparation assumptions are incorrect. -30052
42937 The parameter must not have a subtype of mixed. -192
42939 The name cannot be used, because the specified identifier is reserved for system use. -457, -707, -553
42944 The authorization ID cannot be both an owner and primary group owner. -7028
42961 The server name specified does not match the current server. -114
42962 A long column, LOB column, structured type column or datalink column cannot be used in an index, a key, generated column, or a constraint. -350
42969 The package was not created. -7020
42970 COMMIT HOLD or ROLLBACK HOLD is only allowed to an IBM i application server. -7018
42971 SQL statements cannot be executed under commitment control, because commitment control is already active to another relational database. -7017
42972 An expression in a join-condition or ON clause of a MERGE statement references columns in more than one of the operand tables. -338
42977 The authorization ID cannot be changed when connecting to the local server. -7022
42978 An indicator variable is not a small integer. -080
42981 CREATE SCHEMA is not allowed if changes are pending in the unit of work. -7941
42984 The privilege cannot be granted to the view, because *OBJOPR or *OBJMGT authority exists on a dependent view or table, and the grantee does not have *ALLOBJ or the specified privilege on the dependent table or view. -7027
42985 The statement is not allowed in a routine. -577, -579, -751
42986 The source table of a rename operation is referenced in a context where is it not supported. -750
42987 The statement or routine is not allowed in a trigger. -751
42990 A unique index or unique constraint is not allowed because the key columns are not a superset of the partitioned key columns. -270
42995 The requested function does not apply to global temporary tables. -526
42996 A specified column may not be used in a partition key. -328
42997 Capability is not supported by this version of the DB2 application requester, DB2 application server, or the combination of the two. -7906
42998 A referential constraint is not allowed because the foreign key columns are not a superset of the partitioned key columns or the node group is not the same as the parent table. -256
42999 Function not supported for query. -255
429B6 Rows from a distributed table cannot be redistributed because the table contains a datalink column with FILE LINK CONTROL. -7037
429B7 A referential constraint with a delete rule of CASCADE is not allowed on a table with a DataLink column with FILE LINK CONTROL. -7038
429BB The data type of a column, parameter, or SQL variable is not supported. -789
429BD RETURN must be the last SQL statement of the atomic compound statement within an SQL row or table function. -20148
429BL A function which modifies SQL data is invoked in an illegal context. -20267
429BM The collating sequence cannot be used in this context. -20268
429BV Invalid specification of a ROW CHANGE TIMESTAMP column. -20354
429BX The expression for an index key is not valid. -356
429C2 The data type specified for an array is not valid in the context where it is specified. -20436
429C3 The creation or revalidation of an object would result in an invalid direct or indirect self-reference. -20481
Table 37. Class Code 44: WITH CHECK OPTION Violation
SQLSTATE Value Meaning SQLCODE Values
44000 The INSERT or UPDATE is not allowed, because a resulting row does not satisfy the view definition. -161
Table 38. Class Code 46: Java Errors
SQLSTATE Value Meaning SQLCODE Values
46001 The URL specified on an install or replace of a jar procedure did not identify a valid jar file. -20200
46002 The jar name specified on the install, replace, or remove of a Java procedure is not valid. -20201
46003 The jar file cannot be removed, a class is in use by a procedure. -20202
46007 A Java function has a Java method with an invalid signature. -20203
46008 A Java function could not map to a single Java method. -20204
46501 The install or remove jar procedure specified the use of a deployment descriptor. -20207
Table 39. Class Code 51: Invalid Application State
SQLSTATE Value Meaning SQLCODE Values
51002 The package corresponding to an SQL statement execution request was not found. -805
51003 Consistency tokens do not match. -818
51004 An address in the SQLDA is invalid. -822
51009 COMMIT or ROLLBACK is not allowed, because commitment control has not been started. -7007
51015 An attempt was made to execute a section that was found to be in error at bind time. -525
51021 SQL statements cannot be executed until the application process executes a rollback operation. -918
51030 The procedure referenced in a DESCRIBE PROCEDURE or ASSOCIATE LOCATOR statement has not yet been called within the application process. -480
51035 A PREVIOUS VALUE expression cannot be used because a value has not been generated for the sequence yet in this session. -845
51036 An implicit connect to a remote server is not allowed because a savepoint is outstanding. -20110
51037 The operation is not allowed because a trigger has been marked inoperative. -7048
51039 The ENCRYPTION PASSWORD value is not set. -20143
51043 Procedure cannot be called because the nested environment already called an autonomous procedure. -4729
51046 The data change operation is not allowed for the target object when CURRENT TEMPORAL SYSTEM_TIME or CURRENT TEMPORAL BUSINESS_TIME has a value other than the null value. -20535
51047 The activation group of the program or service program referenced by an external procedure is not valid. -7059
Table 40. Class Code 53: Invalid Operand or Inconsistent Specification
SQLSTATE Value Meaning SQLCODE Values
53037 A partitioned index cannot be created on a table. -662
53038 The number of key limit values is zero or greater than the number of columns in the key. -663
53039 The PARTITION clause of the ALTER statement is omitted or invalid. -665
53045 The data type of the key limit constant is not the same as the data type of the column. -678
Table 41. Class Code 54: SQL or Product Limit Exceeded
SQLSTATE Value Meaning SQLCODE Values
54001 The statement is too long or too complex. -101
54002 A string constant is too long. -102
54004 The statement has too many table names or too many items in a SELECT or INSERT list. -129, -840
54005 The sort key is too long, or has too many columns. -136
54006 The result string is too long. -137
54008 The key is too long, a column of the key is too long, or the key has too many columns. -602, -613, -614, -631
54009 Too many users were specified in GRANT or REVOKE. -5017
54010 The record length of the table is too long. -101
54011 Too many columns were specified for a table, view, or table function. -680, -101
54012 The literal is too long. -684
54018 The row is too long. -809
54019 The maximum number of late descriptors has been exceeded, probably because too many different CCSIDs were used. -871
54021 Too many constraints, or the size of the constraint is too large. -642
54023 The limit for the number of parameters or arguments for a function or a procedure has been exceeded. -442, -448
54028 The maximum number of concurrent LOB handles has been reached. -429
54035 An internal object limit exceeded. -7049
54038 Maximum depth of nested routines or triggers was exceeded. -724
54044 A multiple-byte (UCS-2) collating sequence table cannot be supported in DRDA because it is too large. -7031
54054 The number of partitions is exceeded. -4701
54057 An XML element name, attribute name, namespace prefix or URI is too long. -20326
54058 The internal representation of an XML path is too long. -20327
Table 42. Class Code 55: Object Not in Prerequisite State
SQLSTATE Value Meaning SQLCODE Values
55005 Recursion is only supported to an IBM i application server. -145
55006 The object cannot be dropped, because it is currently in use by the same application process. -615, -950
55007 The object cannot be altered, because it is currently in use by the same application process. -951
55018 The schema cannot be dropped, because it is in the library list. -7006
55019 The object is in an invalid state for the operation. -7008, -7009, -20054, -20469
55029 Local program attempted to connect to a remote database. -862
55042 The alias is not allowed because it identifies a single member of a multiple member file. -7030
55048 Encrypted data cannot be encrypted. -20147
55050 An object cannot be created into a protected schema. -7052
55058 The DEBUG MODE cannot be changed for a routine that was created with DISABLE DEBUG MODE. -20313
55063 The XML schema is not in the correct state for the operation. -20339
55068 A row change timestamp expression cannot be used because the table does not have a row change timestamp. -20431
Table 43. Class Code 56: Miscellaneous SQL or Product Error
SQLSTATE Value Meaning SQLCODE Values
56016 The ranges specified for data partitions are not valid. -636
56023 An invalid reference to a remote object has been detected. -512
56084 An unsupported SQLTYPE was encountered in a select list or input list. -351, -352
56095 A bind option is invalid. -30104
56098 An error occurred during an implicit rebind, recompile, or revalidation. -727
560BF The cryptographic facility has not been installed. -20223
560C3 An AFTER trigger cannot modify a row being inserted for an INSERT statement. -989
560C4 The option is not valid for the ARD interface. -5027, -5028
560C6 A referential constraint cannot modify a row that was modified by an SQL data change statement within a fullselect. -864
560CO Cycle detected in a hierarchical query. -20451
560CR The XML Toolkit LPO, the Java JDK or JVM, or PASE is not installed. -7056
560CX A table that has a trigger or is a parent of a referential constraint with a delete rule of CASCADE, SET NULL, or SET DEFAULT is not allowed as the target table in a MERGE statement that contains a global variable, function, or subselect in an assignment or values clause. -7058
560D1 MERGE not allowed because operations performed in the MERGE may affect other operations in the MERGE. -7058
Table 44. Class Code 57: Resource Not Available or Operator Intervention
SQLSTATE Value Meaning SQLCODE Values
57005 The statement cannot be executed, because a utility or a query limit or threshold was exceeded. -666
57006 The object cannot be created, because a DROP or CREATE is pending. -679
57007 The object cannot be used, because an operation is pending. -910
57010 A field procedure could not be loaded. -682
57011 Virtual storage or database resource is not available. -904, -971, -7053
57012 A non-database resource is not available. This will not affect the successful execution of subsequent statements. -30040
57013 A non-database resource is not available. This will affect the successful execution of subsequent statements. -30041
57014 Processing was canceled as requested. -952
57017 Character conversion is not defined. -332
57033 Deadlock or timeout occurred without automatic rollback. -913
57042 DDM recursion has occurred. -30001
57043 A local SQL application program cannot be executed on an application server. -7021
57050 The file server is not currently available. -357
57062 Adjustment not allowed for a period as a result of a data change operation. -20528
Table 45. Class Code 58: System Error
SQLSTATE Value Meaning SQLCODE Values
58002 An exit has returned an error or invalid data. -685, -7054
58003 An invalid section number was detected. -144
58004 A system error (that does not necessarily preclude the successful execution of subsequent SQL statements) occurred. -901, -4301
58008 Execution failed due to a distribution protocol error that will not affect the successful execution of subsequent DDM commands or SQL statements. -30000
58009 Execution failed due to a distribution protocol error that caused deallocation of the conversation. -30020
58010 Execution failed due to a distribution protocol error that will affect the successful execution of subsequent DDM commands or SQL statements. -30021
58011 The DDM command is invalid while the bind process in progress. -30050
58012 The bind process with the specified package name and consistency token is not active. -30051
58014 The DDM command is not supported. -30070
58015 The DDM object is not supported. -30071
58016 The DDM parameter is not supported. -30072
58017 The DDM parameter value is not supported. -30073
58018 The DDM reply message is not supported. -30074
58028 The commit operation failed, because a resource in the unit of work was not able to commit its resources. -175
58033 An unexpected error occurred while attempting to access a client driver. -969
Table 46. Class Code 5UA: Common Utilities and Tools
SQLSTATE Value Meaning SQLCODE Values
5UA0O The argument to the WRAP function or to the CREATE_WRAPPED procedure is not valid. -20529