我必须创建一个表格结构是什么
create table reparto
(
numrep integer,
nomespec varchar(20),
nomeosp varchar(20),
cittaosp varchar(25),
primary key (numrep,nomespec,nomeosp,cittaosp),
foreign key(nomeosp,cittaosp) references ospedale(nomeosp,cittaosp),
foreign key nomespec references specializzazione(nomeospe)
);
当然我已经创建了表格
create table ospedale
(
nomeosp varchar(20),
cittaosp varchar(25),
numasl integer,
idasp varchar(4),
primary key(nomeosp,cittaosp)
);
和
create table specializzazione
(
nomespe varchar (20) primary key
);
当然它不起作用,我不知道该怎么做,有人可以告诉我如何创建几个不同的外键吗?
答案 0 :(得分:0)
我们可以在这里指出一些明显的事情。外键定义中给出的列名:
references specializzazione(nomeospe)
^
与表定义
中的列名不匹配... specializzazione ( nomespe ...
^^^^^^^
外键的列列表应该包含在parens
中... foreign key (nomespec)
^ ^
答案 1 :(得分:0)
你有一些文字错误和incorect订单创建表请检查:
create table specializzazione
(
nomespe varchar (20) primary key
);
create table ospedale
(
nomeosp varchar(20),
cittaosp varchar(25),
numasl integer,
idasp varchar(4),
primary key(nomeosp,cittaosp)
);
create table reparto
(
numrep integer,
nomespec varchar(20),
nomeosp varchar(20),
cittaosp varchar(25),
primary key (numrep,nomespec,nomeosp,cittaosp),
foreign key(nomeosp,cittaosp) references ospedale(nomeosp,cittaosp),
foreign key (nomespec) references specializzazione(nomespe)
);