Provided by:
manpages-zh_1.5-1_all 
NAME
SET CONSTRAINTS - 設置當前事務的約束模式
SYNOPSIS
SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
DESCRIPTIONyz
SET CONSTRAINTS 設置當前事務裏的約束運算的特性。 在 IMMEDIATE
模式下,約束是在每條語句後捷i行檢查的。 在 DEFERRED
模式下,一直到事務提交時才檢查約束。
在你把約束的模式蚹鵀 IMMEDIATE 之後,新的約束模式是反作用式地生效的:
任何尚在等待的,需n在事務結束檢查地數據蚹麊漪蠽禲]在使用 DEFERRED 的時-
唌^都將在執行 SET CONSTRAINTS 命令的時埶角W檢查。
從創建的時堈}始,一茯蠽蘅`是表現為下惜T荅S性之一: INITIALLY DEFERRED,
INITIALLY IMMEDIATE DEFERRABLE, 或 INITIALLY IMMEDIATE NOT DEFERRABLE。
第三荅S性不會受 SET CONSTRAINTS影響。
目前,只有外鍵約束被這-
茬]置影響。檢查和唯一約束總是立即檢查的而不是可推遲的。
NOTES`N
這茤R令只在當前事務裏蚹麍蠽籅漲甈陛C因此,如果你在事務塊外
(BEGIN/COMMIT 對)執行這茤R令,
它將顯得沒有任何作用那樣。如果你希望不在每茖今o出 SET CONSTRAINTS
也能蚹麍蠽籅漲甈陛A 那麼在創建這些約束的時埡n明 INITIALLY DEFERRED 或者
INITIALLY IMMEDIATE。
COMPATIBILITYe性
這條命令與 SQL 標準裏定義的行為相容,只不過,在 PostgreSQL
裏,它只適用於外鍵約束。
者
Postgresql <laser@pgsqldb.org>