sql server中check约束
类别:数据库 浏览量:403
时间:2015-3-6 sql server中check约束
sql server中check约束CHECK约束约束可以和一个列关联,也可以和一个表关联,因为它们可以检查一个列的值相对于另外一个列的值,只要这些列都在同一个表中以及值是在更新或者插入的同一行中。CHECK约束还可以用于检查列值组合是否满足某一个标准。
可以像使用where子句一样的规则来定义CHECK约束,几乎所有可以放到where子句的条件都可以放到该约束中,而且和其他选择(规则和触发器)相比,CHECK约束执行速度更快。
一、check索引实例
1、在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数
CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)
(2)、在表已存在的情况下为 "Id_P" 列创建 CHECK 约束
ALTER TABLE Persons
ADD CHECK (Id_P>0)
(3)、撤销 CHECK 约束
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
2、在已存在的表Account中添加一个CHECK约束 (年龄必须大于18)
alter table Account add constraint CN_AccountAge check (Account_Age > 18);如果此时视图添加一条不满足的记录
insert into Account values (22,'洪',17)报如下错误
消息 547,级别 16,状态 0,第 1 行 INSERT 语句与 CHECK 约束"CN_AccountAge"冲突。该冲突发生于数据库"Nx",表"dbo.Account", column 'Account_Age'。 语句已终止。
二、SQL Server中使用Check约束对性能的提升
例如下图
标签:sql server
您可能感兴趣
- sql server设置自增(sql server建表时设置ID字段自增的简单方法)
- SQL SERVER 数据库外键
- SQL Server 批量导入数据的方法
- linux安装sqlserver 2008 r2(Ubuntu 下安装SQL Server教程)
- SQL Server获取时间段内的所有月份
- sqlserver2012如何安装如何使用(Sql server 2012 中文企业版安装图文教程附下载链接)
- sqlserver 添加分区(SQL Server 数据库分区分表水平分表详细步骤)
- sqlserver怎么调成混合登录(如何快速删掉SQL Server登录时登录名下拉列表框中的选项)
- sql触发器编写教程(SQL Server 使用触发器trigger发送电子邮件步骤详解)
- sqlserver带参数的存储过程(SQL Server 日期和时间的内部存储过程)
- SQL Server ltrimrtrim函数的用法(SQL Server ltrimrtrim 去不掉空格的原因分析)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)
- SQL Server中SET赋值和SELECT赋值
- 查看SQL SERVER中指定数据库所有表的字段信息
- sql怎么写递归(sql server实现递归查询的方法示例)
- SQL Server 各个版本支持的功能
- 26岁杨紫的白素贞遇上24岁鞠婧祎,哪个最美(26岁杨紫的白素贞遇上24岁鞠婧祎)
- 鞠婧祎和杨紫两种风格的女生,你心里谁比较美(鞠婧祎和杨紫两种风格的女生)
- 三千年第一美女鞠婧祎出演白素贞pk杨紫,颜值胜赵雅芝王祖贤(三千年第一美女鞠婧祎出演白素贞pk杨紫)
- 成都轨道交通13号线一期工程最新进展(成都轨道交通13号线一期工程最新进展)
- 越南没事(越南没事情做)
- 重庆旅游攻略(重庆旅游3-4天攻略最佳线路)
热门推荐
- SqlServer 按时间段查询问题(SqlServer 按时间段查询问题)
- docker删除多个镜像命令(Docker 彻底删除私有库镜像的操作)
- python循环创建字典(Python字典的基本用法实例分析创建、增加、获取、修改、删除)
- mysql insert into 怎么用(MySQL中INSERT的一般用法)
- dedecms手册教程(dedecms标签大全非常经典)
- drools动态执行规则(使用swoole 定时器变更超时未支付订单状态的解决方案)
- nginx事件模型有几种(Python实现监控Nginx配置文件的不同并发送邮件报警功能示例)
- python 正则表达式菜鸟教程(详解Python正则表达式re模块)
- python完整异常机制(深入理解Python异常处理的哲学)
- 使用 iosOverlay 弹出提示信息
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9