主键SQL中的两个属性(将外键引用到此键)

主键SQL中的两个属性(将外键引用到此键),sql,database,oracle,foreign-keys,primary-key,Sql,Database,Oracle,Foreign Keys,Primary Key,我在创建表时遇到了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

我在创建表时遇到了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*/
创建表lekovi
(
儿童编号(5),
Isifra编号(10),
石灰瓦查尔2(50),
sostav varchar2(500),
主键(kid、Isifra),
外键(kid)引用kompanii(kid)
)
/*接待员*/
创建表格接收
( 
儿童编号(5),
Isifra编号(10),
dembg编号(13),
pembg编号(13),
基准varchar2(50),
doza varchar2(500),
主键(kid、Isifra、dembg、pembg),

如何将复合外键从“Receptor”引用到“lekovi”

与您完全相同。外键应具有与引用键相同的列内容(列数和位置/数据类型)


不清楚您的问题是什么?您想得到什么?如何将复合外键从“Receptor”引用到“lekovi”?但是当我将数据插入表“Receptor”时我看到了这个表单,但我已经将引用lekovi的ID设置为一个而不是两个文本字段。很抱歉,我看不出您引用的web表单与您的问题有什么关系。您在lekovi表中创建了复合主键。引用此主键的所有外键必须与它们引用的PK具有相同的结构-这是RDBMS的设计法则。如果您需要分别创建引用Key和Isifra列的外键。您必须引用具有相应结构的其他表中的其他PK。但您应该根据业务需求做出此决定。
SQL> create table lekovi (
  2  kid number(5),
  3  Isifra number(10),
  4  lime varchar2(50),
  5  sostav varchar2(500),
  6  primary key (kid, Isifra)
  7  )
  8  /

Table created.

SQL> create table recepti (
  2  kid number(5),
  3  Isifra number(10),
  4  dembg number(13),
  5  pembg number(13),
  6  datum varchar2(50),
  7  doza varchar2(500),
  8  primary key (kid, Isifra, dembg, pembg),
  9  foreign key (kid, Isifra)
 10  references lekovi (kid, Isifra)
 11  )
 12  /

Table created.