SQL3600N The IMMEDIATE CHECKED option of the SET CONSTRAINTS statement is not valid since the table "<table-name>" is not in the check pending state.
Explanation: The data is checked for constraint violations only if the table is placed in the check pending state.
User Response: Use the SET CONSTRAINT statement with the OFF option to place a table in the check pending state.
sqlcode: -3600
sqlstate: 51027
SQL3601W The statement caused one or more tables to automatically be placed in check pending state.
Explanation: There are two situations where this occurs.
User Response: This is a warning message. The user must execute the SET INTEGRITY statement with the IMMEDIATE CHECKED option in order to validate the integrity on all the dependent and descendent tables.
sqlcode: +3601
sqlstate: 01586
SQL3602W Check data processing found constraint violations and moved them to exception tables.
Explanation: There are rows that violate constraints that were specified to be checked by the SET CONSTRAINTS statement execution. These were moved to exceptions tables.
User Response: Check the exception tables for rows that violate constraints. The rows have been deleted from the original table but can be corrected and transferred back from the exception tables.
sqlcode: +3602
sqlstate: 01603
SQL3603N Check data processing through the SET CONSTRAINTS statement has found that constraint "<constraint-name>" has been violated.
Explanation: A row has been found to violate a constraint defined on a table specified to be checked by the SET CONSTRAINTS statement.
User Response: The row has not been deleted from the table since the FOR EXCEPTION option was not used.
It is advisable to execute the SET CONSTRAINTS statement using the FOR EXCEPTION option when checking the data. The data may be corrected with the information from the exception table(s).
sqlcode: -3603
sqlstate: 23514
SQL3604N Exception table "<excp-table-name>" corresponding to table "<table-name>" in the SET CONSTRAINTS statement does not have the proper structure, has been defined with unique indexes, constraints or triggers, or is in the check pending state itself.
Explanation: The exception table corresponding to a table must have its definition similar to that of the original table. Optional columns for the utility are as specified in the relevant section of the documentation describing the exception tables. There must not be any constraints or triggers defined on the exception table. The exception table itself should not be in the check pending state.
User Response: Create the exception table as indicated in the relevant section of the documentation and re-run the utility.
sqlcode: -3604
sqlstate: 428A5
SQL3605N Table "<table-name>" named in the SET CONSTRAINTS statement is either not listed to be checked or is an exception table specified more than once.
Explanation: When the FOR EXCEPTION clause is specified in the SET CONSTRAINTS statement, this error could be caused by one of the following :
User Response: Correct the table names and execute the command again.
sqlcode: -3605
sqlstate: 428A6
SQL3606N There is a mismatch in the number of tables being checked and in the number of exception tables specified in the SET CONSTRAINTS statement.
Explanation: There must be a one-to-one correspondence between the original tables and the exception tables provided in the list.
User Response: Create the missing exception table if not already done and specify it in the list in order to execute the command again.
sqlcode: -3606
sqlstate: 428A7
SQL3608N Cannot check or reset the Check Pending state on dependent table "<dep-table-name>" using the SET CONSTRAINTS statement while the parent table "<par-table-name>" is in the check pending state.
Explanation: The parent table must be clean (not in the check pending state) or be included in the invocation list in order to
User Response: Ensure that the parent table is not in check pending by executing the SET CONSTRAINT statement to check the parent table.
It is recommended to check the parent table first. It is also possible to check the dependent table and include the parent table in the invocation list. In this case, the command could still fail if there are constraint violations in the parent table and they are not deleted (ie., if the FOR EXCEPTION option is not used).
In the case of a referential cycle, all tables must be included in the invocation list.
sqlcode: -3608
sqlstate: 428A8