oracle数据库约束条件实例教程

发布时间:2019-11-17编辑:脚本学堂
本文介绍了oracle数据库中约束条件的用法,分享一些oracle约束条件的例子,包括主键约束、外键约束、删除与重键约束条件等,感兴趣的朋友参考下。

oracle数据库约束条件

1.主键约束(primary key [pk])不能重复,不能为null。
添加代码:

constraint constraint_name primary key (column)
 

2.外键约束(foreign key [fk])可以为null。
 

constraint constraint_name foreign key (column) references table_name(column);

3.设置唯一约束(unique [uk])不能重复的,但是可以为null。
创建表时,最后添加如下代码:
 

constraint constraint_name unique (column)

4.非空约束(not null [nn]) 只能定义在列级定义,定义表后添加使用modify关键字。
 
5.核查约束(check [ck])
 

constraint constraint_name check(condition)

6.查询核查约束
 

select constraint_name,constraint_type,search_condition
from user_constraints where table_name='emp';

7.增加约束条件(其中not null必须使用modify,不能使用add)
 

alter table tablename add [constraint constraintname] type (column)
eg:alter table depart
add constraint depart_empid_fk
foreign key(empid) references emp(empid);

8.启动,关闭约束条件
启动:

复制代码 代码示例:
alter table depart
enable constraint depart_empid_fk;

关闭:

复制代码 代码示例:
alter table depart
disable constraint depart_empid_fk;

9.删除约束条件
 

alter table depart
drop constraint depart_empid_fk;

10.重建约束条件(以主外键为例)
 

alter table student_yin add
constraint stu_y_mid_fkey foreign key(mid) references mid_yin(mid_no)
on delete set null;
--当删除主表(mid_yin)的记录时 子表中依赖该记录的记录被置空
     
alter table student_yin add
constraint stu_y_mid_fkey foreign key(mid) references mid_yin(mid_no)
on delete cascade;
--当删除主表(mid_yin)的记录时 子表中依赖该记录的记录被同时删除

11.表级约束和列级约束
列级定义是在定义列的同时定义约束。
表级定义是指在定义了所有列后,再定义约束。
注意: not null约束只能在列级上定义。