oracle 约束的状态
oracle在创建约束后默认状态是enabled VALIDATED
oracle约束一共有4种状态:enabled validated, enabled novalidated, disadble validated, disable novalidated。
enabled validated 是默认状态,表示数据在约束创建时要对数据库内的数据进行校验并且同时约束后来插入的数据满足约束条件。
enabled novalidated 表示不对数据库内的数据进行校验而只是要求后来插入的数据满足约束条件。
对于唯一约束和主键约束由于在创建时候要创建唯一索引,所以在普通表中如果表中数据有违反约束的数据时在创建所以时候就会失败。
由于需要创建索引,这时会对数据表进行扫描并建立唯一索引。但是数据表中数据有重复数据所以索引建立失败。这就需要在约束创建的时候指定约束时候规定它创建的索引是非唯一性索引。
disadble validated 标示使约束失效并检查表中数据。
disadble novalidated 标示使约束失效且不检查表中数据。