[英](Error) ORA-02270: no matching unique or primary key for this column-list
我有下面的代碼,我正在逐步運行它:
CREATE TABLE registration (
constraint pkks primary key (cod_class, number_rgm),
cod_class NUMBER(8),
number_rgm NUMBER(8),
dt_registration DATE
);
CREATE TABLE class (
constraint fk_class foreign key (cod_class) references registration (cod_class),
cod_class NUMBER(8),
number_schoolyear NUMBER(4),
number_series NUMBER(2),
sg_class VARCHAR2(2),
cod_school NUMBER(6),
cod_grade NUMBER(2),
cod_period NUMBER(2)
);
CREATE TABLE alumn (
constraint fk_rgm foreign key (number_rgm) references registration (number_rgm),
number_rgm NUMBER(8),
name_alumn VARCHAR2(40),
name_father VARCHAR2(40),
name_mother VARCHAR2(40),
birth DATE,
id_sex CHAR(1)
);
但是當我創建第二個和第三個表時,我收到以下錯誤:
ORA-02270: no matching unique or primary key for this column-list
如何解決此錯誤並在此邏輯中創建表? 我將所有primary keys
保存在registration
中,其他表只會引用它。
你有你的外鍵倒退。 registration
中的cod_class
和number_rgm
列應該是分別引用class
和alumn
表的外鍵。
CREATE TABLE class (
constraint pk_class primary key (cod_class),
cod_class NUMBER(8),
number_schoolyear NUMBER(4),
number_series NUMBER(2),
sg_class VARCHAR2(2),
cod_school NUMBER(6),
cod_grade NUMBER(2),
cod_period NUMBER(2)
);
CREATE TABLE alumn (
constraint pk_rgm primary key (number_rgm),
number_rgm NUMBER(8),
name_alumn VARCHAR2(40),
name_father VARCHAR2(40),
name_mother VARCHAR2(40),
birth DATE,
id_sex CHAR(1)
);
CREATE TABLE registration (
constraint pkks primary key (cod_class, number_rgm),
constraint fk_class foreign key (cod_class) references class(cod_class),
constraint fk_rgm foreign key (number_rgm) references alum(number_rgm),
cod_class NUMBER(8),
number_rgm NUMBER(8),
dt_registration DATE
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.