Monday, April 30, 2007

ORCALE

create table m
(
id1 number,
id2 number,
c varchar2(100),
constraint pk_m primary key (id1,id2)
);

create table d
(
id1 number,
id2 number,
d varchar2(10),
constraint fk_d foreign key (id1,id2) references m(id1,id2)
);
组合主键、外键都需要你指定其约束名称,如 pk_m, fk_d 等,
而单一的主键、外键就可以不指定而让系统自动产生约束名称。

也可以创建完表后再加主键:alter table 表名 add constraint 主键名 primary key(列名1、列名2)或在建表的sql语句后添加CONSTRAINT 主键名PRIMARY KEY (列名1、列名2、、、)

CREATE TABLE SPJ
(s_num VARCHAR(5) NOT NULL,
p_num VARCHAR(5) NOT NULL,
j_num VARCHAR(5) NOT NULL,
qty INT NOT NULL,
FOREIGN KEY(s_num) REFERENCES S(s_num),
FOREIGN KEY(p_num) REFERENCES P(p_num),
FOREIGN KEY(j_num) REFERENCES J(j_num),
CONSTRAINT PK_SPJ PRIMARY KEY(s_num,p_num,j_num));