Oracle9i SQL Reference Release 2 (9.2) Part Number A96540-02 |
|
|
View PDF |
Use the SET
CONSTRAINTS
statement to specify, for a particular transaction, whether a deferrable constraint is checked following each DML statement or when the transaction is committed.
To specify when a deferrable constraint is checked, you must have SELECT
privilege on the table to which the constraint is applied unless the table is in your schema.
set_constraints::=
Specify the name of one or more integrity constraints.
Specify ALL
to set all deferrable constraints for this transaction.
Specify IMMEDIATE
to indicate that the conditions specified by the deferrable constraint are checked immediately after each DML statement.
Specify DEFERRED
to indicate that the conditions specified by the deferrable constraint are checked when the transaction is committed.
Note: You can verify the success of deferrable constraints prior to committing them by issuing a |
The following statement sets all deferrable constraints in this transaction to be checked immediately following each DML statement:
SET CONSTRAINTS ALL IMMEDIATE;
The following statement checks three deferred constraints when the transaction is committed. This example fails if the constraints were specified to be NOT
DEFERRABLE
.
SET CONSTRAINTS emp_job_nn, emp_salary_min , hr.jhist_dept_fk@remote DEFERRED;