我創建了2個這樣相互依賴的表。約束相互依賴的表
CREATE TABLE A(NO1 NUMBER(2) PRIMARY KEY,NO2 NUMBER(2));
表創建。
CREATE TABLE B(NO1 NUMBER(2) PRIMARY KEY,NO2 NUMBER(2));
表創建。
ALTER TABLE A ADD CONSTRAINT AA FOREIGN KEY(NO2) REFERENCES B(NO1);
表已改變。
ALTER TABLE B ADD CONSTRAINT BB FOREIGN KEY(NO2) REFERENCES B(NO1);
表改變了。 ORA - : ORA-02291:父鍵未找到
INSERT INTO B VALUES(10,20);
INSERT INTO B VALUES(10,20);
ERROR位於第1行違反完整性約束(SUBK.AA)
INSERT INTO A VALUES(10,20); INSERT INTO A VALUES(10,20);
位於第1行錯誤-02291:違反完整性約束(SUBK.BB) - 未找到父鍵
如何在表
a
插入數據和b
爲什麼你想在第一時間建立這樣的限制?將數據插入到多個表中是不可能的,因此如果兩個表中都有外鍵,則根本無法向它們插入任何新數據... –
SQL Server不會返回ORA錯誤。 –
我假設'BB'是爲了引用'A(NO1)'而不是'B' - 因爲否則,B似乎獨立於'A',你只需要首先對它進行多行插入。 –