国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
oracle約束狀態(tài)
Oracle約束按約束狀態(tài)又可分為disable novalidate,disable validate,enable novalidate,enable validate. 其中disable/enable代表是否啟用約束,validate/novalidate代表啟用約束時(shí)是否對(duì)表中原有數(shù)據(jù)作檢查。

 

      這里模擬生產(chǎn)環(huán)境中的情況,先建一張沒(méi)有約束的表,等有一定數(shù)據(jù)后建立enable novalidate約束,進(jìn)而執(zhí)行enable validate來(lái)規(guī)范表中所有數(shù)據(jù),具體如下:

 

      1. 創(chuàng)建原始表及數(shù)據(jù)

 

          SQL> create table t1(

                2  id number,

                3  name varchar2(20));

          SQL> insert into t1 values(1,'A');

          SQL> insert into t1 values(1,'B');

          SQL> insert into t1 values(2,'C');

          SQL> insert into t1 values(3,'D');

          SQL> insert into t1 values(3,'E');

          SQL> insert into t1 values(4,'F');

 

      2. 在表上創(chuàng)建enable novalidate主鍵

 

          SQL> alter table t1 add constraint pk_t1 primary key (id)

                2  deferrable enable novalidate;

 

          此時(shí)主鍵已經(jīng)生效,但源表中包含不符合約束的數(shù)據(jù)

 

      3. 嘗試將約束狀態(tài)更改為 enable validate,卻發(fā)現(xiàn)原有數(shù)據(jù)有問(wèn)題

 

          SQL> alter table t1 enable validate constraint pk_t1;

          alter table t1 enable validate constraint pk_t1

          *

          第 1 行出現(xiàn)錯(cuò)誤:

          ORA-02437: 無(wú)法驗(yàn)證 (SCOTT.PK_T1) - 違反主鍵

 

      4. 找出違反約束的數(shù)據(jù),這里采用Exceptions表保存異常數(shù)據(jù)

 

          SQL>@%ORACLE_HOME%\RDBMS\Admin\utlexpt1.sql    ------  建立異常數(shù)據(jù)保存表

 

          SQL>alter table t1 enable validate constraint pk_t1

          SQL>exceptions into exceptions;                                     ------  將異常數(shù)據(jù)裝入異常表

 

      5. 根據(jù)異常表,找出對(duì)應(yīng)源表中的異常數(shù)據(jù)

 

           SQL> select id,name from t1 where rowid in(

                 2  select row_id from exceptions);

 

                 ID NAME

              ---------- --------------------

                         1 A

                         1 B

                         3 D

                         3 E

 

      6. 修正異常數(shù)據(jù)后,將索引生效

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle約束的關(guān)鍵字Enable/Disable/Validate/Novalidate
Oracle約束(Constraint)詳解
約束之三-Oracle約束的啟用和停用,狀態(tài)和延遲
Oracle學(xué)習(xí)筆記(11)維護(hù)數(shù)據(jù)完整性
Oracle——級(jí)聯(lián)刪除(選摘)
SQL語(yǔ)句(建庫(kù)、建表、修改語(yǔ)句)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服