Deferred Constraint Checking
The Constraints can be deferred for validity until the end of the transaction.
•A constraint is deferred if the system checks in which it is satisfied only on commit statement. If a deferred constraint is violated then commit causes the transaction to roll back.
•If a constraint is immediate (not deferred), then it is checked at the end of each statement.
If a constraint is violated the statement is rolled back instantly.
If a constraint causes an action like, delete cascade this action is always taken as part of the statement which caused it, whether the constraint is deferred or immediate.