SET CONSTRAINTS

Name

SET CONSTRAINTS -- 現在のトランザクションの制約モードを設定

Synopsis

SET CONSTRAINTS { ALL | constraint [, ...] } { DEFERRED | IMMEDIATE }

説明

SET CONSTRAINTSは、現在のトランザクションにおける制約の評価方法を設定します。 IMMEDIATEモードでは、一つの文の実行が終わる毎に制約がチェックされます。 DEFERREDモードでは、トランザクションが終了するまで制約はチェックされません。

制約はその生成時において、常にINITIALLY DEFERREDINITIALLY IMMEDIATE DEFERRABLEINITIALLY IMMEDIATE NOT DEFERRABLEの三つのうちのいずれかの特徴を持ちます。三番目のものは、SET CONSTRAINTSコマンドで有効になりません。

今のところ、外部キーの制約だけがこの設定の影響を受けます。CHECK 制約や UNIQUE 制約は、常に初期状態で直接評価され、遅延されません(常にINITIALLY IMMEDIATE NOT DEFERRABLE)。

互換性

SQL92, SQL99

SET CONSTRAINTSQL92SQL99で定義されています。