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 server2008脚本执行(在Sql Server中调用外部EXE执行程序引发的问题)
- sqlserver拒绝访问怎么办(SQL server服务显示远程过程调用失败的解决方法)
- sqlserver使用简介(SQL Server Page结构深入分析)
- SQL SERVER 数据库外键
- sqlserverdatetime时区(解析SQL Server中datetimeset转换datetime类型问题)
- sqlserver怎么写判断条件(SQL Server之SELECT INTO 和 INSERT INTO SELECT案例详解)
- sqlserver判断null(SQL Server索引超出了数组界限的解决方案)
- sqlserver数据库备份怎么还原(SQL Server2012数据库备份和还原的教程)
- zabbix监控sql server集群(zabbix 监控mysql的方法)
- sqlserver 存储过程(SQL Server解析XML数据的方法详解)
- sqlserver存储过程同步数据(SQL Server存储过程同时返回分页结果集和总数)
- sql server 字符串处理(SQL Server中利用正则表达式替换字符串的方法)
- SQL Server中row_number的用法
- sql server中策略管理
- sql server 2008自定义函数(SQL SERVER 2012新增函数之逻辑函数CHOOSE详解)
- sql server 视图操作(Sql Server 视图数据的增删改查教程)
- 朱鹤松被不断认可,凤凰传奇玲花喊话岳云鹏,索要老朱演出门票(朱鹤松被不断认可)
- 元宵晚会槽点多,芒果台上来就假唱,岳云鹏不说相声改评书了(元宵晚会槽点多)
- 岳云鹏跟凤凰传奇谈心,说出了人生中最重要的三个人,这才成功(岳云鹏跟凤凰传奇谈心)
- 爱情可以当饭吃吗(爱情能当饭吃吗)
- Top 3 JSHS《运动与健康科学 英文 》跻身SCI体育学期刊世界前三(Top3JSHS运动与健康科学)
- 体坛传媒LOGO全新升级,多元发展迈出坚实步伐(体坛传媒LOGO全新升级)
热门推荐
- dedecms搜索功能怎么设置详细(取消dedecms 留言簿的验证码的方法)
- 织梦dedecms专题页制作详细教程(织梦Dedecms系统SEO优化之网站URL目录优化)
- mysql中常用的三种存储引擎的区别(MySQL 存储过程的优缺点分析)
- docker镜像简介(详解使用阿里云镜像仓库构建国外Docker镜像)
- 群晖docker搭建代理服务(群晖NAS利用Docker容器搭建KMS激活服务器实现激活windows系统和office操作步骤)
- python指定参数教程(详解Python传入参数的几种方法)
- linux压缩文件夹zip命令(Linux gzip命令压缩文件实现原理及代码实例)
- 常见的sql注入技术(浅谈一次与sql注入 & webshell 的美丽“邂逅”)
- 存储过程中使用事务Transaction
- label for属性
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9