溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

數(shù)據(jù)庫中約束的validate和able怎么用

發(fā)布時間:2021-11-09 14:06:41 來源:億速云 閱讀:208 作者:小新 欄目:關(guān)系型數(shù)據(jù)庫

這篇文章主要介紹數(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è)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI