0

如果我在 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)
);
4

0 回答 0