SET CONSTRAINTSは、現在のトラクンザクションにお ける制約の評価方法を設定します。 IMMEDIATEモードでは、一つの文の実行が終わる毎に制 約がチェックされます。 DEFERREDモードでは、トランザクションが終了するまで 制約はチェックされません。
制約はその生成時において、常にINITIALLY DEFERRED、 INITIALLY IMMEDIATE DEFERRABLE、 INITIALLY IMMEDIATE NOT DEFERRABLEの三つのうちのい ずれかの特徴を持ちます。 三番目のものは、SET CONSTRAINTSコマンドで有効に なりません。
今のところ、外部キーの制約だけがこの設定の影響を受けます。 CHECK 制約や UNIQUE 制約は、常に初期状態で直接評価され、遅延されま せん(常にINITIALLY IMMEDIATE NOT DEFERRABLE)。