oracle外键约束实现教程

1、在创建表时设置外键约束

涉及两个表中字段关系的约束

创建主表

create table typeinfo

(typeid varchar2(10) primary key,

typename varchar2(20) );

创建从表

create table userinfo_f

(id varchar2(10) primary key,

username varchar2(20),

typeid_new varchar2(10) references typeinfo(typeid) );

insert into typeinfo values(1,1);

insert into typeinfo_f(id,typeid_new) values(1,1);

insert into typeinfo_f(id,typeid_new) values(2,null);

“““““““““““““““““““““““““““““““`

create table userinfo_f2

(id varchar2(10) primary key,

username varchar2(20),

typeid_new varchar2(10),

constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid) );

通过级联删除来创建外键约束

create table userinfo_f3

(id varchar2(10) primary key,

username varchar2(20),

typeid_new varchar2(10),

constraint fk_typeid_new1 foreign key(typeid_new) references typeinfo(typeid) on delete cascade );

2、在修改表时添加外键约束

create table userinfo_f4

(id varchar2(10) primary key,

username varchar2(20),

typeid_new varchar2(10) );

alter table userinfo_f4

add constraint fk_typeid_alter foreign key(typeid_new) references typeinfo(typeid);

3、删除外键约束

查看约束的名字,类型,状态

select constraint_name,constraint_type,status from user_constraints where table_name=’userinfo_4’;

(1) 禁用(启用)外键约束(disable/enable)

alter table userinf0_4

disable constraint fk_typeid_alter;

select constraint_name,constraint_type,status from user_constraints where table_name=’userinfo_4’;

(2) 彻底删除外键约束

alter table userinf0_4

drop constraint fk_typeid_alter;

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐