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.
Cause: The data is checked for constraint violations only if the table is placed in the check pending state.
Action: Use the SET CONSTRAINT statement with the OFF option to place a table in the check pending state.
sqlcode: -3600
sqlstate: 51027
SQL3601W Setting the constraints for a parent table to OFF in a referential structure or adding a foreign key when the parent table in check pending state has resulted in one or more descendent tables being automatically placed into a Check Pending state.
Cause: Setting a parent table in a referential structure requires dependent and descendent tables to be set in check pending. This is necessary to enforce referential integrity constraints. Adding a foreign key when the parent table is in a check pending state requires all new dependents and descendents of the parent table to be placed automatically in check pending.
Action: This is a warning message. The user must execute the SET CONSTRAINTS statement with the IMMEDIATE CHECKED option in order to check constraints on all the dependent and descendent tables as well.
sqlcode: +3601
sqlstate: 01586
SQL3602W Check data processing found constraint violations and moved them to exception tables.
Cause: There are rows that violate constraints that were specified to be checked by the SET CONSTRAINTS statement execution. These were moved to exceptions tables.
Action: 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.
Cause: A row has been found to violate a constraint defined on a table specified to be checked by the SET CONSTRAINTS statement.
Action: 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.
Cause: 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.
Action: 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.
Cause: When the FOR EXCEPTION clause is specified in the SET CONSTRAINTS statement, this error could be caused by one of the following :
Action: 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.
Cause: There must be a one-to-one correspondence between the original tables and the exception tables provided in the list.
Action: 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.
Cause: The parent table must be clean (not in the check pending state) or be included in the invocation list in order to
Action: 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