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加密与解密的问题)
- 启动sqlserver代理服务失败(SQL Server代理服务无法启动怎么办)
- sqlserver最大数据导入量(SQL Server批量插入数据案例详解)
- sql server 时间与日期函数(SQL Server日期加减函数DATEDIFF与DATEADD用法分析)
- sqlserver查看表和存储过程的架构(SQL Server 远程更新目标表数据的存储过程)
- windows性能计数器与SQL Server Profiler 组合分析性能
- sql server证书配置(SQL Server Alwayson创建代理作业的注意事项详解)
- sqlserverlog原理(sql server中错误日志errorlog的深入讲解)
- sql server中PageLatch和PageIOLatch等待
- SQL Server表误删记录如何恢复
- Sql Server系统数据库的作用
- sqlserverselect选择两个参数(SQL SERVER中SELECT和SET赋值相同点与不同点推荐)
- sqlserver新建表参数错误(Sql Server中判断表、列不存在则创建的方法)
- sqlserver基础查询语句(SQL Server子查询的深入理解)
- sql server2008无法连接怎么办(SQL Server 2008 R2登录失败的解决方法)
- sql server 自定义函数
- 你喜欢足球吗 足球如何点亮世界的(足球如何点亮世界的)
- 不可分鸽是什么梗(不可分鸽是什么梗)
- 古代的鸽子是爱情的象征,并非和平的使者(古代的鸽子是爱情的象征)
- 一课译词 放鸽子(一课译词放鸽子)
- 终于来了,淘宝更改账户名测试中,快去看看你能不能修改(淘宝更改账户名测试中)
- 淘宝支持账号名修改,网友 终于可以 重新做人 了(淘宝支持账号名修改)
热门推荐
- css 页面加载样式(如何只在IE上加载CSS样式表)
- php生成md5(php进行md5加密简单实例方法)
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- dedecms独立页面怎么加(dedecms调用当前栏目的子栏目的两种方法分享)
- vmware vcenter怎么用安全(关于Vmware vcenter未授权任意文件上传漏洞CVE-2021-21972的问题)
- mysql中如何设置多个主键(Mysql 增加主键或者修改主键的sql语句操作)
- python 接口测试怎么校验json数据(python接口自动化十七--Json 数据处理---一次爬坑记详解)
- dedecms5.7能否用5.5的模板(dedecms 5.5 伪静态设置方法)
- css3动画让元素绕着圆圈转动(css3动画过渡实现鼠标跟随导航效果)
- python中tryexcept的用法(对python中的try、except、finally 执行顺序详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9