码迷,mamicode.com
首页 > 数据库 > 详细

oracle的check约束

时间:2015-03-18 10:42:12      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:check约束   oracle的check约束   

     check约束是指检查性约束,使用check约束时,将对输入的每一个数据进行检查,只有符合条件的记录才会被保存到表中,从而保证了数据的有效性和完整性。
     check约束既有以下的四个特点:
在check约束的表达式中,必须引用表中的一个或多个列,并且表达式的运算结果是一个布尔值。
在一个列种,可以定义多个check约束。
对于同一列,可以同时定义check约束和not null约束。
check约束既可以定义在列级别中,也可以定义在表级中。
在这里,我们创建了一个p3表作为示范:
SQL> create table p3(
  2  pid number(4) not null unique,
  3  pname varchar2(10),
  4  page number(3) constraint check_p3age check(page>0)--为page指定检查约束,其中page必须大于0
  5  );
表已创建。
SQL> insert into p3 values(1,‘aaa‘,20);
已创建 1 行。
SQL> insert into p3 values(1,‘aaa‘,0);
insert into p3 values(1,‘aaa‘,0)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (SYSTEM.CHECK_P3AGE)


SQL> alter table p3 add constraint check2_p3age check(page<100);  --向表中添加约束,是的page的值必须小于100
表已更改。
SQL> insert into p3 values(1,‘aaa‘,100);  --当插入的值大于等于100时报错
insert into p3 values(1,‘aaa‘,100)
*
第 1 行出现错误:
ORA-02290: 违反检查约束条件 (SYSTEM.CHECK2_P3AGE)


SQL> alter table p3 drop constraint check2_p3age;          --删除表中的check约束

表已更改。

以上的内容来自学习记录。


oracle的check约束

标签:check约束   oracle的check约束   

原文地址:http://blog.csdn.net/qq_20545159/article/details/44400027

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!