首页 > 代码库 > 约束的几种状态

约束的几种状态

    为了更好地处理数据可能暂时违反约束条件的情况,可将约束条件指定为不同的状态。可以启用(ENABLE) 或禁用(DISABLE) 完整性约束条件。如果启用约束条件,在数据库中输入或更新数据时就会检查数据。此时,禁止输入不符合约束条件规则的数据。如果禁用约束条件,则可以在数据库中输入不符合规则的数据。完整性约束条件可处于下列其中一种状态:

   1、 DISABLE NOVALIDATE:不检查新数据和现有数据,因此这些数据可能不符合约束条件。当数据来自验证过的源,而且表是只读表时,通常会使用此状态。因此,不会将新数据输入表中。

    2、DISABLE VALIDATE:如果约束条件处于此状态,则不允许对有约束条件的列进行任何修改。因为如果在验证现有数据后,又允许将未经检查的数据输入表中,就会出现不一致的情况。当必须验证现有数据,但不需要修改数据,而且不需要另外为性能而建立索引时,通常会使用此状态。

    3、ENABLE NOVALIDATE:新数据符合约束条件,但现有数据处于未知状态。当可以更正现有的约束条件违规情况,同时又不允许将新的违规数据输入系统时,常常会使用此状态。

    4、ENABLE VALIDATE:新数据与现有数据均符合约束条件。这是约束条件的典型状态和默认状态。


约束的几种状态