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语句的分析结果
set autotrace only:只有当前sql的分析结果
set sutotrace off:关闭执行计划
4.1在plsql的sys用户下,打开执行计划,结果不行。在cmd里面就可以
查看dept表上的索引情况
如果在选择的时候对deptno字段 编辑(例如where deptno+10 in (20,30)),则索引失效
5.查看用户的所有表名
6.通过执行计划去查看视图
通过执行计划可以查看视图是由哪些表组成,通过视图查看基础数据时,同样使用了索引。
关闭执行计划
set autotrace off
7.临时表
为每个会话提供专有的数据,会话之间相互不受影响,临时表只限于当前会话的使用
会话或者事务结束时会自动清除数据
对于临时表的操作,不生成日志,不生成undo数据,没有锁,没有备份,不进行相关保护
7.on commit delete rows 用户进行commit会将数据 进行清除
on commitpreserve rows用户进行commit,会将数据进行暂时保留,但会话结束时会丢失
8.数据字典