0
我用ISQLPLUS創建表時,我引用多個外鍵,他們給了我不匹配的唯一或主鍵錯誤ORA-02270
:ORA-02270:此列列表
ORA-02270: no matching unique or primary key for this column-list
這裏是我的代碼:
create table People
(name varchar(50),
ssn varchar(50) not null,
G# varchar(50),
primary key (ssn),
unique(ssn, G#))
create table Professor
(
name varchar(50),
ssn varchar(50) not null,
G# varchar(50),
teach_record varchar(50),
primary key (ssn),
unique (ssn, G#),
foreign key (name, ssn, G#) references People(name, ssn, G#) ON DELETE CASCADE
)
它說的前行錯誤「)」,在教授的腳本,它引用的人(姓名,SSN,G#) 我不能推測是什麼問題。
您以在其上創建一個外鍵需要對人(姓名,SSN,G#)主鍵。 –
弗羅林是對的;但爲什麼你首先在'professor'表中複製'name'和'G#'列呢?由於'ssn'是'people'表中的主鍵,因此可以將表加入到表中以獲取這些值。否則,如果說人名更改(通過婚姻或其他),那麼你必須管理更新兩個表中的值同時進行,這也意味着更新主鍵 - 通常不需要的。 –
這是一個ISA關係。我想說prof表繼承People的屬性。 – Rozen