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约束

表已更改。

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

时间: 2024-11-05 18:42:16

oracle的check约束的相关文章

Oracle之Check约束实例详解

Oracle | PL/SQL Check约束用法详解 1. 目标 实例讲解在Oracle中如何使用CHECK约束(创建.启用.禁用和删除) 2. 什么是Check约束? CHECK约束指在表的列中增加额外的限制条件. 注: CHECK约束不能在VIEW中定义. CHECK约束只能定义的列必须包含在所指定的表中. CHECK约束不能包含子查询. 3. 创建表时定义CHECK约束 3.1 语法: CREATE TABLE table_name ( column1 datatype null/not

oracle之check约束小结

一下是Ocp考试指导中,对于oracle约束的描述: The constraint types supported by the Oracle database are as follows:UNIQUENOT NULLPRIMARY KEYFOREIGN KEYCHECKConstraints have names. It is good practice to specify the names with a standard naming convention, but if they a

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i

SQL CHECK 约束&amp;Case when 的使用方法

1.CHECK 约束 SQL CHECK 约束 CHECK 约束用于限制列中的值的范围. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. SQL CHECK Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束.CHECK 约束规定 "Id_P" 列必须只包含大于 0

Oracle 关于定义约束 / 修改表结构 /修改约束

---约束分5种:主键 外键 唯一 非空 检查5类约束 Oracle中分列级别约束 与 表级别约束 列级别约束:在创建表时再列上面加约束 例如: create table table11( stuno number(2) constraint table_pk primary key, tname varchar2(5)unique--唯一约束 ) 上面两个字段都是在列上面直接写的约束 :可选[constraint table_pk] primary key, 表级别约束: 例如: --表级别约

CHECK约束

CHECK约束会检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功.比如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12.可以在CHECK条件中使用任意有效的SQL表达式,CHECK约束对于插入.更新等任何对数据进行变化的操作都进行检查. 在字段定义后添加CHECK 表达式就可以为这个字段添加CHECK约束,几乎所有字段中都可以添加CHECK约束,也就是一张表中可以存在多个CHECK 约束. 下面的SQL语句创建了一张用于

Partition table的switch条件2:Partition 的隐式Check约束 和Nullability

Partition column允许为Null,Null是最小值,存在于Partition Number=1的partition中. Any data with a NULL in the partition column will reside in the leftmost partition. NULL is considered smaller than the minimum value of the data type’s values. Partition Function 定义了

MariaDB10.2.X-新特性2-支持check约束and with as

前几天写了一篇MariaDB10.2支持分析函数,大家印象中MySQL不支持with as ,check约束,那么MariaDB10.2也同样给你惊喜 1.with as MariaDB [test11]> with a as ( select * from t1 where channerId ='支付宝' )  select * from a; +----+--------+------------+-----------+--------+ | id | userId | orderId 

数据(连接查询、纵向联合、索引/键、CHECK约束)

-----连接查询----- ---纵向联合--- 索引/键 添加-列-确定 CHECK约束:规定他范围,不能超过范围 stable表-设计-cid右键-CHECK约束-添加-表达式后面的省略号 - 设置为年龄大于0,小于150,超过设置范围语句与约束冲突终止