--在用PL/SQL導(dǎo)入表數(shù)據(jù)的時(shí)候報(bào)錯(cuò) ORA-02298: 無(wú)法驗(yàn)證 (PNET.POST_CLOB_FK) - 未找到父項(xiàng)關(guān)鍵字
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)起來(lái)的數(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í)行啟用外鍵的語(yǔ)句,或者刪除之前的外鍵創(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: 無(wú)法驗(yàn)證 (約束)提示未找到父項(xiàng)關(guān)鍵字的解決辦法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!