SET CONSTRAINTS

Name

SET CONSTRAINTS — 设置当前SQL事务的约束模式
SET CONSTRAINTS { ALL | constraint [, ...] } { DEFERRED | IMMEDIATE }
  

描述

SET CONSTRAINTS 设置当前事务里的约束运算的特性. 在 IMMEDIATE 模式下,约束是在每条语句后面进行检查的. 在 DEFERRED 模式下,一直到事务提交时才检查约束.

从创建的时候开始,一个约束总是表现为下面三个特性之一: INITIALLY DEFERREDINITIALLY IMMEDIATE DEFERRABLE,或 INITIALLY IMMEDIATE NOT DEFERRABLE. 第三个特性不会受 SET CONSTRAINTS影响.

目前只有外键(foreign key)约束受这个设置的影响. Check 和 unique约束总是有效地initially immediate not deferrable (初始化立即执行无推迟).

兼容性

SQL92, SQL99

SET CONSTRAINTSQL92SQL99 里定义的.