您好,登錄后才能下訂單哦!
這篇文章主要介紹數(shù)據(jù)庫中約束的validate和able怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)建唯一性約束,自動創(chuàng)建了和約束名一樣的唯一性索引
創(chuàng)建check約束,不會產(chǎn)生索引
創(chuàng)建外鍵約束,不會產(chǎn)生索引
啟用約束:
enable( validate) :啟用約束,創(chuàng)建索引,對已有及新加入的數(shù)據(jù)執(zhí)行約束.
enable novalidate :啟用約束,創(chuàng)建索引,僅對新加入的數(shù)據(jù)強制執(zhí)行約束,而不管表中的現(xiàn)有數(shù)據(jù).
禁用約束:
disable( novalidate):關(guān)閉約束,刪除索引,可以對約束列的數(shù)據(jù)進行修改等操作.
disable validate :關(guān)閉約束,刪除索引,不能對表進行 插入/更新/刪除等操作.
enable\validate用到的地方
1、物化視圖要實現(xiàn)查詢重寫時,則必須保證相關(guān)聯(lián)表的主外鍵約束的狀態(tài)為enable、validate
2、要實現(xiàn)星型轉(zhuǎn)換時,必須保證fact表即主表字段的外鍵約束的狀態(tài)為enable、validate
SQL> alter table SALES disable novalidate constraint SALES_CHANNEL_FK;
Table altered.
SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';
CONSTRAINT_NAME CONSTRAINT_TYPE STATUS VALIDATED
-------------------- -------------------- ---------- --------------------
SALES_CHANNEL_FK R DISABLED NOT VALIDATED
SQL> alter table SALES disable validate constraint SALES_CHANNEL_FK;
Table altered.
SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';
CONSTRAINT_NAME CONSTRAINT_TYPE STATUS VALIDATED
-------------------- -------------------- ---------- --------------------
SALES_CHANNEL_FK R DISABLED VALIDATED
SQL> alter table SALES enable novalidate constraint SALES_CHANNEL_FK;
Table altered.
SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';
CONSTRAINT_NAME CONSTRAINT_TYPE STATUS VALIDATED
-------------------- -------------------- ---------- --------------------
SALES_CHANNEL_FK R ENABLED NOT VALIDATED
SQL> alter table SALES enable validate constraint SALES_CHANNEL_FK;
Table altered.
SQL> select constraint_name,constraint_type,status,validated from user_constraints where table_name='SALES' and constraint_type='R' and CONSTRAINT_NAME='SALES_CHANNEL_FK';
CONSTRAINT_NAME CONSTRAINT_TYPE STATUS VALIDATED
-------------------- -------------------- ---------- --------------------
SALES_CHANNEL_FK R ENABLED VALIDATED
以上是“數(shù)據(jù)庫中約束的validate和able怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。