如果我在 Oracle 中有一个父表,有两个子表,我知道我可以强制执行 FK 以便父表存在。
有没有办法确保子记录只存在于其中一个孩子中,而不是两者都存在?
换句话说,如果child1中已经存在具有相同id的记录,则不允许插入child1?
CREATE TABLE parent (
id VARCHAR2(10) NOT NULL PRIMARY KEY,
some_date VARCHAR2(10)
);
CREATE TABLE child1 (
id VARCHAR2(10) NOT NULL PRIMARY KEY,
some_date VARCHAR2(10),
FOREIGN KEY (id) REFERENCES parent(id)
);
CREATE TABLE child2 (
id VARCHAR2(10) NOT NULL PRIMARY KEY,
some_date VARCHAR2(10),
FOREIGN KEY (id) REFERENCES parent(id)
);