Oracle约束介绍

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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值