自引用 table
self referencing table
我有一个这样的table,
table name = staff
staff-id(pk), last-name, first-name, job-title, reports-to(fk)
报告给是一个自引用键。
我已经有数据要插入此 table。在我的数据中,所有工作人员都有报告人,但 MD 没有报告人,因为 MD 是最高职位。因此,由于它没有引用任何键,我如何创建 table 作为自引用外键,因为插入可能会导致问题。
MD 列的数据是
staff-id last-name first-name job-title reports-to
200 牛皮纸哈利 MD 0
CREATE TABLE staff
( staff-id number not null,
last-name varchar2(20) not null,
first-name varchar2(20),
job-title varchar2(20) not null,
reports-to number not null,
CONSTRAINT staffid_pk PRIMARY KEY (staff-id)
CONSTRAINT reportsto_fk FOREIGN KEY (staff-id) REFERENCES staff(staff-id)
);
可不可以把MD的reports-to key作为主键,如果再添加会出问题。
如何解决这个问题呢?
我正在使用甲骨文 11g
要么使 MD 报告自我(即将 Reports-To
列设置为 staff-id
列值),要么使 Reports-To
列可为空(外键列可以等于 NULL
)
我有一个这样的table,
table name = staff
staff-id(pk), last-name, first-name, job-title, reports-to(fk)
报告给是一个自引用键。
我已经有数据要插入此 table。在我的数据中,所有工作人员都有报告人,但 MD 没有报告人,因为 MD 是最高职位。因此,由于它没有引用任何键,我如何创建 table 作为自引用外键,因为插入可能会导致问题。
MD 列的数据是
staff-id last-name first-name job-title reports-to
200 牛皮纸哈利 MD 0
CREATE TABLE staff
( staff-id number not null,
last-name varchar2(20) not null,
first-name varchar2(20),
job-title varchar2(20) not null,
reports-to number not null,
CONSTRAINT staffid_pk PRIMARY KEY (staff-id)
CONSTRAINT reportsto_fk FOREIGN KEY (staff-id) REFERENCES staff(staff-id)
);
可不可以把MD的reports-to key作为主键,如果再添加会出问题。 如何解决这个问题呢? 我正在使用甲骨文 11g
要么使 MD 报告自我(即将 Reports-To
列设置为 staff-id
列值),要么使 Reports-To
列可为空(外键列可以等于 NULL
)