Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645
检查约束
检查约束指的是在数据列上设置一些过滤条件,当过滤条件满足的时候才可以进行保存,如果不满足则出现错误。例如,设置年龄的信息,年龄范围是 0 ~ 100 岁
-- 删除数据表
drop table member purge;
-- 创建数据表
create table member(
mid NUMBER,
name VARCHAR2(20) ,
age NUMBER(3) ,
CONSTRAINT pk_mid PRIMARY KEY(mid) ,
CONSTRAINT ck_age CHECK (age BETWEEN 0 AND 100)
) ;
上面的代码中建立检查约束“ck_age”,年龄范围是 0~100 岁
下面向该表添加数据,验证该检查约束
insert into member(mid,name,age) values(1,'张三',30) ;
上面这个代码,添加的数据年龄为 30,在 0 到 100 岁,符合要求,可以插入
面继续插入一条数据
insert into member(mid,name,age) values(1,'张三',989) ;
此时,出现错误信息:“ORA-02290: 违反检查约束条件 (SCOTT.CK_AGE)”。
这是因为插入的数据年龄是 989 岁,超出了约束设置的范围“0~100 岁”。
从实际开发来说,检查约束往往不设置,检查都通过程序完成