1.约束条件状态的解释
disable novalidate 等同于disable,表示禁用约束,并且对新旧数据不再进行check
enable validate,等同于enable。表示启用约束,并且对新旧数据进行check
2.查看索引
3.对于已有数据进行主键约束。
当旧数据有非法数据,例如,两个值一样的,在启用主键约束的时候会执行失败,解决办法
3.1检查非法数据,然后将非法数据删除,在重新启用主键约束。
alter table t01 enable constraint pk_no1;
3.2修改约束的属性,使主键约束延迟生效
alter table t01 add constraint pk_no1 primary key(deptno) deferrable enable novalidate;
因为是 enable novalidate,所以不会对历史数据进行check。但是会对新添加的数据进行check
4.在禁用约束时使用disable validate,对新添加的数据,不进行约束检查,不允许insert 操作。对历史数据做约束检查。不允许update,delete 但是允许做select
5.执行计划的设定。
set autotrace on:SQL语句的执行结果+SQL