创建表时遇到SQL问题。例如:
/* lekovi */
create table lekovi
(
kid number(5),
Isifra number(10),
lime varchar2(50),
sostav varchar2(500),
primary key (kid, Isifra),
foreign key (kid) references kompanii (kid)
)
/* recepti */
create table recepti
(
kid number(5),
Isifra number(10),
dembg number(13),
pembg number(13),
datum varchar2(50),
doza varchar2(500),
primary key (kid, Isifra, dembg, pembg), <---
foreign key (kid, Isifra) references lekovi (kid, Isifra), <---
foreign key (dembg) references doktori (dembg),
foreign key (pembg) references pacienti (pembg)
)
我有两个表lekovi
和recepti
。
在表lekovi
中,我有主键(kid, Isifra)
。当我从recepti
引用时(在代码中用〈---标记),我遇到了问题,因为我显示了两个单独的键,而不是作为一个组合。SQL是用ORACLE编写的。
如何用钥匙解决这个问题?
1条答案
按热度按时间ljsrvy3e1#
如何将复合外键从“recepti”引用到“lekovi”?
与您完全一样。外键应该与被引用的键具有相同的列内容(列数和位置/数据类型)。