oracle之check约束小结

一下是Ocp考试指导中,对于oracle约束的描述:

The constraint types supported by the Oracle database are as follows:
UNIQUE
NOT NULL
PRIMARY KEY
FOREIGN KEY
CHECK
Constraints have names. It is good practice to specify the names with a standard naming convention, but if they are not explicitly named, Oracle will generate names.

由上可知,每一个约束都有名称,最好的做法是在定义约束是显式的命名,如果没有显式命名,那么系统会提供一个名字。

Check Constraints
A check constraint can be used to enforce simple rules, such as that the value entered in a column must be within a range of values. The rule must be an expression which will evaluate to TRUE or FALSE. The rules can refer to absolute values entered as literals or to other columns in the same row and may make use of some functions.
As many check constraints as you want can be applied to one column, but it is not possible to use a subquery to evaluate whether a value is permissible or to use functions such as SYSDATE.

check约束可用来执行简单的规则,例如在列中输入的值范围必须在一个数据范围之间。这个表达式结果必须为真或者假。某一行可以有多个check约束,但是不能使用子查询或者某些函数如sysdate。

CHECK Constraint

The chack constraints defines a condition that each row must satisfy . The condition can use the same constructs as the query conditions,with the following exceptions:

References to the CURRVAL,NEXTVAL,LEVEL,and ROWNUM pseudocolumns Calls to SYSDATE,UID,USER,and UESRENV functions

Queries that refer to other values in other rows

A single column can have multiple CHECK constraints that refer to the column in its definition. There is no limit to the number of CHECK constraints that you can define on a column.CHECK constraints can be defined at the column level or table level.

check约束必须作用在表中定义的字段上,视图中不可使用check约束,以下情况不可使用在check约束中:

CURRVAL,NEXTVAL,LEVEL,ROWNUM伪列,SYSDATE,UID,USER, UESRENV函数不能使用在check约束中,

涉及其他行值得查询。

单个列可以定义多个参考列的check约束,单个列所能定义的check约束数据没有限制。check约束可以定义列级的,也可以定义表级的。

时间: 2024-10-10 01:01:58

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

check约束是指检查性约束,使用check约束时.将对输入的每个数据进行检查,仅仅有符合条件的记录才会被保存到表中,从而保证了数据的有效性和完整性. check约束既有下面的四个特点: 在check约束的表达式中,必须引用表中的一个或多个列,而且表达式的运算结果是一个布尔值. 在一个列种.能够定义多个check约束. 对于同一列,能够同一时候定义check约束和not null约束. check约束既能够定义在列级别中.也能够定义在表级中. 在这里.我们创建了一个p3表作为示范: SQL> c

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 约束&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,超过设置范围语句与约束冲突终止