06 增加检查约束(Adding a check constraint)

检查约束(Check Constraint)用来限制一个列的取值范围值范围。例如我们可以限制tblPerson表中字段的年龄只能是0-150之间。

Alter Table {TableName}
Add Constraint {ConstraintName} Check (Boolean_Expression)

如果Boolean_Expression表达式返回true,那么检查约束通过,否则失败。如果Age字段是一个可空字段(Allow Null),那么插入新值的时候改字段的值可以为null。当向Age字段赋Null值得时候,Boolean_Expression返回一个UNKNOWN,同时检查约束允许该值。

下面是示例代码:

Alter Table [Sample].[dbo].[tblPerson]
Add Constraint CK_tblPerson_Age Check (Age>0 AND Age < 150)

上面代码增加了一个检查约束,限制Age的取值范围为(0,150),如果运行下面的代码这回得到一个报错:

Insert Into [Sample].[dbo].[tblPerson]
Values
(6,‘Vishel‘,‘[email protected]‘,1,‘India‘,-1)

Msg 547, Level 16, State 0, Line 2
The INSERT statement conflicted with the CHECK constraint "CK_tblPerson_Age". The conflict occurred in database "Sample", table "dbo.tblPerson", column ‘Age‘.
The statement has been terminated.

如果想删除一个检查约束:

Alter Table {TableName}
Drop Constraint {ConstraintName}

下面是示例代码:

Alter Table [Sample].[dbo].[tblPerson]
Drop Constraint CK_tblPerson_Age

当然,增加和删除检查约束还可以通过图形化的方式实现。

时间: 2024-08-08 17:23:33

06 增加检查约束(Adding a check constraint)的相关文章

oracle数据库添加,查询,删除检查约束

CHECk约束是检查约束,能够规定每一个列能够输入的值,以保证数据的正确性 比如通过限制数据类型,检查约束,输入格式,默认值,非空约束等 例如:学生姓名大于0,学生编号不能为空,如果不满足要求,则判断输入无效 (1)添加约束: [1]创建表时添加CHECK约束,在创建表的后面 语法: CONSTRAINT   约束名称   CHECK(条件) 示例: -创建顾客信息表的同时为表添加检查约束 CREATE TABLE CUSTOMINFO( CUSTOMID VARCHAR2(10), NAME

约束(主键、非空、唯一性、外键、检查约束)

一.五种约束 如果DML操作所涉及数据违反了已定义的约束,则数据库系统将拒绝执行这样的操作. Oracle数据库中,约束具体包括非空(NOT NULL)约束.唯一键(UNIQUE)约束.主键(PRIMARY KEY)约束.外键(FOREIGN KEY)约束和检查(CHECK)约束五种. 和数据表类似,约束也属于数据库对象,可以在建表的同时创建其相关约束,也可以在建表后单独添加:可以由用户命名,也可以由系统按照默认格式自动对约束进行命名:按照约束的定义位置,又可以分为表级约束和字段级约束两种. 建

SQL高级应用--约束三--(CHECK、DEFAULT)

SQL CHECK 约束 CHECK 约束用于限制列中的值的范围 如果对单个列定义 CHECK 约束,那么该列只允许特定的值 如果对一个表定义 CHECK 约束,那么次约束会在特定的列中对值进行限制 下面的SQL在表创建时为列 创建CHECK约束 下面的SQL 在“Persons”表创建时为“Id_P”列创建 CHECK 约束.CHECK 约束规定“Id_P”列必须只包含大于0的整数 MySQL CREATE TABLE Persons ( Id_P int NOT NULL, LastName

从头认识Spring-3.8 简单的AOP日志实现(注解版)-扩展增加检查订单功能,以便记录并检测输入的参数

这一章节我们讨论一下扩展增加检查订单功能,以便记录并检测输入的参数. 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03.topic_1_8; public class Cake { private String name = ""; public String getName() { return name; } public void setName(String name) { this.name =

数据库检查约束是否存在

http://stackoverflow.com/questions/2499332/how-to-check-if-a-constraint-exists-in-sql-server Easiest way to check for the existence of a constraint (and then do something such as drop it if it exists) is to use the OBJECT_ID() function... IF OBJECT_I

为列增加默认值限制(Adding a default constraint)

我们可以为表中的某一列增加一个默认值,如上文中我们创建了tblPerson表,该表有GenderId列.我们可以使用下面的代码为该列增加默认值: Alter Table tblPerson Add Constraint DF_tblPerson_GenderId Default 3 For GenderId 同时我们也可以在为表增加新列的时候指定默认值,下面的代码为tblPerson增加一个地址列Address,同时为该地址指定了默认值"CHONGQING": Alter Table

数据库的检查约束check约束

数据中的约束,主要有主键约束,外键约束,非空约束等. 主键约束其实就是非空唯一约束,非空唯一约束也可以通过建立唯一索引来实现,外键约束需要通过其他的表来帮助实现,非空约束在定义是数据库字段时就定义了.还有另一类约束check约束,用处挺大的,只是自己很少使用.   那check约束可以实现那些功能呢?   1范围规定   2枚举值规定   3特定的匹配 1范围规定   例如规定,金额只能大于0 ALTER TABLE tablename ADD CHECK (jine>0) 2枚举值规定 例如难

从头认识Spring-3.3 简单的AOP日志实现-增加检查订单功能

这一章节我们再上一个章节的基础上加上一个检查订单功能 1.domain 蛋糕类: package com.raylee.my_new_spring.my_new_spring.ch03.topic_1_3; public class Cake { private String name = ""; public String getName() { return name; } public void setName(String name) { this.name = name; }

06.C#泛型约束和高级泛型(三章3.3-3.4)

吃午饭前继上篇泛型再写一篇关于泛型的文章,虽然总是被博客园移出首页,文章不精确实是大问题啊,会再接再厉的.进入正题. 先来说下泛型约束.当我们在使用泛型的时候通常会希望使用泛型实参时,参数能具备某一些特性,这时"泛型约束"来了,它能帮助我们在传入泛型参数,该参数要实现先前指定的约束.有4种约束可用,如下: 引用类型约束:确保使用的类型参数是引用类型(T:class,且必须是类型参数指定的第一个约束),类型实参任何类.接口.数组.委托.或者已知是引用类型的另一个类型参数. 值类型约束:表