SQL Server Check 约束
SQL Server Check 约束
SQL Server Check 约束一、定义:
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
二、将新的 CHECK 约束附加到表或列
1、附加新的 CHECK 约束
(1)、在数据库关系图中,右击包含约束的表,然后从快捷菜单中选择"约束"命令。
-或-
为将包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"约束"命令。
(2)、选择"新建"命令。"选定的约束"框显示由系统分配的新约束名。系统分配的名称以"CK_"开始,后跟表名。
在"约束表达式"框中,为 CHECK 约束键入 SQL 表达式。例如,若要将 authors 表中 state 列的输入项限制为 New York,请键入:
state = 'NY'
或者,若要要求 zip 列中的输入项为 5 位数字,请键入:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]' 中间不能有空格
若要给约束提供一个不同的名称,请在"约束名"框中键入名称。
用复选框控制何时强制约束:
若要在创建约束前对现有数据测试约束,请选中"创建中检查现存数据"复选框。
若要在该表中发生复制操作时强制约束,请选中"对复制强制约束"复选框。
若要在该表中插入或更新行时强制约束,请选中"对 INSERT 和 UPDATE 强制约束"复选框。
2、定义 CHECK 约束表达式
当将 CHECK 约束附加到表或列时,必须包括 SQL 表达式。
可以创建简单的约束表达式在简单条件下检查数据;或使用布尔运算符创建复杂的约束表达式以在多种条件下检查数据。例如,假设 authors 表中有一个 zip 列,该列要求 5 位数字的字符串。下面的示例约束表达式确保只允许 5 位数字:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
或者假设 sales 表中有一个名为 qty 的列,该列要求大于 0 的值。下面的示例约束确保只允许正值:
qty > 0
或者假设 orders 表限制所有信用卡订单可接受的信用卡类型。下面的示例约束确保如果用信用卡发出订单,则只接受 Visa、MasterCard 或 American Express:
NOT (payment_method = 'credit card') OR
(card_type IN ('VISA', 'MASTERCARD', 'AMERICAN EXPRESS'))
3、定义约束表达式
创建新的 CHECK 约束。
在属性页的"CHECK 约束"选项卡中,使用下列语法在"约束表达式"框中键入表达式:
{constant | column_name | function | (subquery)}
[{operator | AND | OR | NOT}
{constant | column_name | function | (subquery)}...]
二、修改 CHECK 约束
当要更改约束表达式,或更改对特定条件启用或禁用约束的选项时,修改 CHECK 约束。
I、在数据库关系图中右击包含约束的表,然后从快捷菜单中选择"属性"命令。
-或-
为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
II、选择"CHECK 约束"选项卡。
III、从"选定的约束"列表中,选择要更改的约束。
IV、填写修改规则。
当保存表或关系图时,约束即在数据库内被更新。
三、删除 CHECK 约束
当要删除对约束表达式包含的列所接受数据值的限制时,删除 CHECK 约束。
I、在数据库关系图中右击包含约束的表,然后从快捷菜单中选择"属性"命令。
-或-
为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
II、选择"CHECK 约束"选项卡。
III、从"选定的约束"列表中选择约束。
IV、选择"删除"按钮。
注意 选择"删除"按钮将导致一个无法撤消的操作,而且不保存对数据库关系图所做的所有其它更改。若要撤消该操作,请不保存更改即关闭当前的数据库关系图和所有其它打开的数据库关系图。
当保存表或关系图时,约束即从数据库中被删除。
- SQL Server中SET赋值和SELECT赋值
- sqlserver 插入数据的触发器(SQL server 表数据改变触发发送邮件的方法)
- sqlserver游标使用场景(解析SQL Server聚焦移除Bookmark Lookup、RID Lookup、Key Lookup)
- SQL Server 2008中的时间数据类型
- sqlserver修改排序规则几种方法(SQL Server 分页编号的另一种方式推荐)
- 完整版sqlserver2019卸载教程(Sql Server 2012完全卸载方法 只需8步轻松卸载)
- sqlserver创建表结构时添加约束(SQL Server 通过with as方法查询树型结构)
- linux安装sqlserver 2008 r2(Ubuntu 下安装SQL Server教程)
- sqlserver索引实例(SQL Server索引的原理深入解析)
- Sql Server profiler 分析器的理解
- sql中row的用法(sql server数据库中raiserror函数用法的详细介绍)
- sqlserver 查询数据库增长设置(SQL设置SQL Server最大连接数及查询语句)
- sqlserver如何生成xml文件(实现SQL Server 原生数据从XML生成JSON数据的实例代码)
- sql server内外连接的作用(浅谈SQL Server交叉联接 内部联接)
- sqlserver怎么查看数据库版本(Sql Server数据库各版本功能对比)
- sqlserver技术文档(sql server2016里面的json功能浅析)
- X86处理器的梦魇 苹果M1自研芯片到底有多强(苹果M1自研芯片到底有多强)
- 泰剧《爱欲之神》Boom kitkong和Great合体杂志(泰剧爱欲之神Boomkitkong和Great合体杂志)
- 素人恋爱综艺火药味十足 男生为赢得芳心集体扯头花,真是出好戏(素人恋爱综艺火药味十足)
- 《囧妈》为何受抵制 春节七部影片撤档背后的责任与博弈(囧妈为何受抵制)
- 提醒 2019年起河南驾考要开设科目五 官方回应来了(2019年起河南驾考要开设科目五)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
热门推荐
- mysql数据库事务处理(MySQL数据库事务与锁深入分析)
- webview上传功能教程(关于webview适配H5上传照片或者视频文件的方法)
- canvas绘制二进制图片(Canvas获取视频第一帧缩略图的实现)
- foot rocker怎么使用(stricky footer的三种解决方案详解)
- mac怎么用ftp传文件(Mac自带FTP工具怎么使用 Mac自带FTP工具用法教程)
- linux编写ftp程序(Linux实现文件上传ftp服务器脚本代码)
- php构成方法的关键字是(PHP中的self关键字详解)
- pythonpick教程(Python使用Pickle模块进行数据保存和读取的讲解)
- css中div高度自适应
- vue实现pc聊天页面(vue实现web在线聊天功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9