disable/enable validate/novalidate 的区别
转自 http://blog.sina.com.cn/s/blog_5a3b1e820100a1ek.html
启用约束:
enable( validate):启用约束,创建索引,对已有及新加入的数据执行约束.
enable novalidate:启用约束,创建索引,仅对新加入的数据强制执行约束,而不管表中的现有数据.
禁用约束:
disable( novalidate):关闭约束,删除索引,可以对约束列的数据进行修改等操作.
disable validate:关闭约束,删除索引,不能对表进行 插入/更新/删除等操作.
环境:oracle 9i 9.0.1.0 for win,以上结论均测试通过.
例:disable validate约束后,执行update...操作提示:
ORA-25128: 不能对带有禁用和验证约束条件 (SYS.PK_EMP_01) 的表进行插入/更新/删除
ORACLE的表的分类:
1、REGULAR TABLE:普通表,ORACLE推荐的表,使用很方便,人为控制少。
2、PARTITIONED TABLE:分区表,人为控制记录的分布,将表的存储空间分为若干独立的分区,记录按一定的规则存储在分区里。适用于大型的表。