---创建表t_user,其中userid为主键
create table t_user(
userid nubmer constraint pk_user primary key,
username varchar2(15),
age number
)
1.在建表的时候添加外键约束
----创建表t_role,其中rid为主键,并为其中的userid添加与表t_user(userid)的外键约束
1).
create table t_role(
rid number constraint pk_role primary key,
rname varchar2(15),
userid number,
foreign key(userid) references t_user(userid)
)
2).或者自定义外键约束名,并设置对父表删除的时候级联将子表t_role中相应的记录设置为空:
create table t_role(
rid number constraint pk_role primary key,
rname varchar2(15),
userid number constraint fk_user_role references t_user(userid) on delete set null
)
2.在创建表之后为表添加主外键约束
-----创建表t_role,其中rid为主键
create table t_role(
rid number primary key,
rname varchar2(15),
userid number
)
-----为表添加主键约束
1)创建主键时使用系统自动生成的主键名
alter table t_role
add primary key(rid)
2)创建主键时自定义主键名
alter table t_role
add constraint pk_role primary key(rid)
-----为表t_role(userid)添加表t_user(userid)的外键约束
1)创建外键时使用系统自动生成的外键名
alter table t_role
add foreign key(userid)
references t_user(userid)
2)创建外键时自定义外键名称
alter table t_role
add constraint fk_role_user foreign key(userid)
references t_user(userid)
-----设置级联只需在外键约束语句后面添加on delete cascade,或者on delete set null
例如:
alter table t_role
add constraint fk_role_user foreign key(userid)
references t_user(userid) on delete cascade
3.删除表中的主外键约束
----删除主键约束
alter table t_role
drop primary key
---或者通过主键名删除
alter table t_role
drop constraint pk_role
----删除表t_role中的外键约束
alter table t_role
drop constraint fk_role_user