Oracle数据库约束分为以下几种:
1:not null和check约束
2.PK主键约束
3.Unique唯一值约束
4.FK外键约束
下面介绍了以上4种约束的创建,添加,删除方法:
1.check约束
当创建约束时,系统会自动给约束取名,也可用户自己取名
>SQL create table person(id int, sex varchar2(50)) constraint person_constraint check(sex in('男','女'));
对于已存在表,添加约束
>SQL alter table person add constraint person_constraint check(sex in ('男','女'));
删除约束
>SQL alter table person drop constraint person_constraint;
2.主键约束
>SQL create table person(id int primary key,name varchar2(50));
主键约束功能:
a.保证此列的唯一值
b.一个表中只能有唯一的primary key
c.此列不允许null值
d.可以将主键设定到多个列上(复合主键),如:create table person(firstName varchar2(50), lastName varchar2(50), constraint x_m primary key(firstName,lastName));
删除主键约束:
>SQL alter table person drop primary key;
3.unique约束
功能:
a,允许有无数的null值
b.在一个表中可以有多个unique约束
c.值是唯一的
4.外键约束
外键约束只能是主键列中任意一个
>SQL create table product(id int, p_name varchar2(50));
>SQL create table price(id int, p_id int , price int, constraint p_f_refer_product_p_id foreign key(p_id) references product(id));
对于已存在表:
>SQL alter table price add constraint refer_product_p_id foreign key(p_id) references product(id);
如果要delete product 表中的一条记录,当该记录有对应价格记录时,普通方法不能删除,需要使用cascade(级联完整性(主表的行改变,从表也相应改变))
方法:
在创建表时或修改时加上on delete cascade
如:alter tavle price add constraint refer_product_p_id foreign key(p_id) references product(id) on delete cascade;
有时候,我们要向子表中添加数据,而不想让子表检查约束,我们必须先临时关闭约束,再添加数据.
如:
>SQL alter table price disable constraint refer_product_p_id;
>SQL insert into price values...
>SQL alter table price enable novalidate constraint refer_product_p_id;
分享到:
相关推荐
Oracle 约束错误约束错误Oracle 约束错误约束错误
oracle约束详解.oracle约束详解.oracle约束详解.oracle约束详解.
Oracle所有约束基本语法,介绍比较浅显易懂!
1 1 、 e oracle 数据库有 5 5 种约束: :y primary n key,foreign key,unique,check,not null 2 2 、 如果某个约束只作用单独的字段,即可以在列级定义约束;也可以在表 级定义约束。但是如果某个约束作用于多...
oracle新手入门指导之五—ORACLE约束.txtoracle新手入门指导之五—ORACLE约束.txt
Oracle的Constraint约束,供初学者参考;
Oracle定义约束 外键约束 实验详解
oracle的索引和约束详解,可以针对索引和约束有更详尽的了解
oracle约束键解析
oracle基本约束语法,记录的oracle各种约束,以及基本的使用方法
09oracle约束.pptx
详细介绍了oracle的常见约束,表级约束(主键),列级约束,唯一性约束,外键约束,并介绍了如何给相应的约束命名
自己看视频做的笔记,以后再更新,虽然内容很少,但是一看就懂。我也是菜鸟,所以笔记都是菜鸟笔记
oracle 数据库约束笔记oracle 数据库约束笔记
应用于存在外键或其他约束时,需要跳过约束条件将数据导入表中,可使用该存储过程临时关闭或开启数据约束, 使用时可根据实际情况进行修改