disable/enable validate/novalidate 的區(qū)別(轉(zhuǎn))
disable/enable validate/novalidate 的區(qū)別
轉(zhuǎn)自 http://blog.sina.com.cn/s/blog_5a3b1e820100a1ek.html
啟用約束:
enable( validate):啟用約束,創(chuàng)建索引,對(duì)已有及新加入的數(shù)據(jù)執(zhí)行約束.
enable novalidate:啟用約束,創(chuàng)建索引,僅對(duì)新加入的數(shù)據(jù)強(qiáng)制執(zhí)行約束,而不管表中的現(xiàn)有數(shù)據(jù).
禁用約束:
disable( novalidate):關(guān)閉約束,刪除索引,可以對(duì)約束列的數(shù)據(jù)進(jìn)行修改等操作.
disable validate:關(guān)閉約束,刪除索引,不能對(duì)表進(jìn)行 插入/更新/刪除等操作.
環(huán)境:oracle 9i 9.0.1.0 for win,以上結(jié)論均測(cè)試通過(guò).
例:disable validate約束后,執(zhí)行update...操作提示:
ORA-25128: 不能對(duì)帶有禁用和驗(yàn)證約束條件 (SYS.PK_EMP_01) 的表進(jìn)行插入/更新/刪除
ORACLE的表的分類(lèi):
1、REGULAR TABLE:普通表,ORACLE推薦的表,使用很方便,人為控制少。
2、PARTITIONED TABLE:分區(qū)表,人為控制記錄的分布,將表的存儲(chǔ)空間分為若干獨(dú)立的分區(qū),記錄按一定的規(guī)則存儲(chǔ)在分區(qū)里。適用于大型的表。
posted on 2009-03-28 23:20 Lucky 閱讀(376) 評(píng)論(0) 編輯 收藏