我创建了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',你只需要首先对它进行多行插入。 –