ORA-02298: 無法驗(yàn)證 (約束)提示未找到父項(xiàng)關(guān)鍵字的解決辦法
--在用PL/SQL導(dǎo)入表數(shù)據(jù)的時(shí)候報(bào)錯(cuò) ORA-02298: 無法驗(yàn)證 (PNET.POST_CLOB_FK) - 未找到父項(xiàng)關(guān)鍵字
--發(fā)現(xiàn)是啟用外鍵約束時(shí)報(bào)的錯(cuò) alter table DM_VOLREV enable constraint VR_VOLID_FK;
/*原因分析:
你要插入的表A里,有外鍵連接到另一個(gè)表B的主鍵,你在表A的外鍵列插入的值,在表B的主鍵列找不到就不能插入。
主要看兩表中的數(shù)據(jù)是否一致,從表中要關(guān)聯(lián)外鍵的字段中的數(shù)據(jù)必須包含在主表相關(guān)字段的數(shù)據(jù)內(nèi)。
處理的方法有:
1> 先不驗(yàn)證已有數(shù)據(jù)的CONSTRANT,加上參數(shù)NOVALIDATE.*/ ALTER TABLE PN_POST ADD CONSTRAINT POST_CLOB_FK FOREIGN KEY (POST_BODY_ID) REFERENCES PN_POST_BODY_CLOB (OBJECT_ID) NOVALIDATE; --2>首先查看兩個(gè)表對(duì)應(yīng)起來的數(shù)據(jù)有多少 select count(*) from dm_volrev t,DM_VOLID k where t.vr_volid = k.vi_volid; --再分別查看單獨(dú)的數(shù)據(jù),發(fā)現(xiàn)外鍵表多了一行 select count(*) from dm_volrev t; select count(*) from DM_VOLID k; -找到多的行并刪除 select t.vr_volid from dm_volrev t where t.vr_volid not in (select k.vi_volid from DM_VOLID k); delete from dm_volrev t where t.vr_volid = 479908; --直接重新執(zhí)行啟用外鍵的語句,或者刪除之前的外鍵創(chuàng)建新的外鍵 alter table DM_VOLREV drop constraint VR_VOLID_FK; ALTER TABLE DM_VOLREV ADD CONSTRAINT VR_VOLID_FK foreign KEY (VR_VOLID) references DM_VOLID(VI_VOLID) VALIDATE; /*啟用約束: 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)行 插入/更新/刪除等操作.*/
以上所述是小編給大家介紹的ORA-02298: 無法驗(yàn)證 (約束)提示未找到父項(xiàng)關(guān)鍵字的解決辦法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Oracle性能究極優(yōu)化(Oracle 性能優(yōu)化)
Linux Journal 發(fā)表了一篇優(yōu)化 Oracle 數(shù)據(jù)庫的文章,感覺十分的有用。簡(jiǎn)要介紹其摘要和大家共同分享 Linux 在企業(yè)級(jí)數(shù)據(jù)庫上應(yīng)用2007-03-03Oracle監(jiān)聽注冊(cè)的實(shí)現(xiàn)
Oracle數(shù)據(jù)庫的注冊(cè)監(jiān)聽功能是Oracle數(shù)據(jù)庫管理的一個(gè)重要組成部分,它允許數(shù)據(jù)庫實(shí)例接收來自客戶端請(qǐng)求,并且可以自動(dòng)恢復(fù)數(shù)據(jù)庫服務(wù),感興趣的可以了解一下2023-12-12Oracle監(jiān)聽器被優(yōu)化大師掛掉后的完美解決方法
這篇文章主要介紹了Oracle監(jiān)聽器被優(yōu)化大師掛掉后的完美解決方法,需要的朋友可以參考下2017-08-08Oracle數(shù)據(jù)庫的實(shí)例/表空間/用戶/表之間關(guān)系簡(jiǎn)單講解
這篇文章主要介紹了Oracle數(shù)據(jù)庫的實(shí)例/表空間/用戶/表之間關(guān)系簡(jiǎn)單講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08