ORA-02298: 無法驗證 (PNET.POST_CLOB_FK) - 未找到父項關鍵字

brightking716發表於2010-12-21

在執行以下語句的時候,報錯如下:

ALTER TABLE PN_POST

ADD CONSTRAINT POST_CLOB_FK

FOREIGN KEY (POST_BODY_ID)

REFERENCES PN_POST_BODY_CLOB (OBJECT_ID);

Error at line 1

ORA-02298: 無法驗證 (PNET.POST_CLOB_FK) - 未找到父項關鍵字

[@more@]

主要原因是:

在新增CONSTRAINT的時候,預設是需要VALIDATE表中的已有資料的。

你要插入的表A裡,有外來鍵連線到另一個表B的主鍵,你在表A的外來鍵列插入的值,在表B的主鍵列找不到就不能插入。主要看兩表中的資料是否一致,從表中要關聯外來鍵的欄位中的資料必須包含在主表相關欄位的資料內。

處理的方法有:

1> 先不驗證已有資料的CONSTRANT,加上引數NOVALIDATE.

SQL > ALTER TABLE PN_POST

ADD CONSTRAINT POST_CLOB_FK

FOREIGN KEY (POST_BODY_ID)

REFERENCES PN_POST_BODY_CLOB (OBJECT_ID)

NOVALIDATE;

2> 按照子表的外來鍵檢視一下不存在的副本記錄,將不存在的父表記錄補全

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12472709/viewspace-1043410/,如需轉載,請註明出處,否則將追究法律責任。

相關文章