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作业活动监视器
- 如何在sql server中解密视图(关于SQL Server加密与解密的问题)
- sqlserver数据库还原教程(SQL Server通过重建方式还原master数据库)
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- sql server中的逻辑读、物理读和预读
- SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法(SQL Server免费版的安装以及使用SQL Server Management StudioSSMS连接数据库的图文方法)
- sql server中使用xp_readerrorlog查看错误日志
- sql server 视图操作(Sql Server 视图数据的增删改查教程)
- sqlserver存储过程参数默认值(sql server使用临时存储过程实现使用参数添加文件组脚本复用)
- SQL Server 各个版本支持的功能
- sqlserver完全删除教程(sql server编写archive通用模板脚本实现自动分批删除数据)
- sql server中PageLatch和PageIOLatch等待
- sql server2005如何配置(SQLServer2005创建定时作业任务)
- sqlserver字符串截取填充(SQL Server实现split函数分割字符串功能及用法示例)
- sqlserver触发器修改当前字段(利用SQL Server触发器实现表的历史修改痕迹记录)
- sqlserver登录身份验证(SQL Server 2012 身份验证Authentication)
- 重庆旅游攻略(重庆旅游3-4天攻略最佳线路)
- 周杰伦演唱会门票(周杰伦演唱会门票多少钱一张2023)
- 焕然一新 成都轨道集团官方网站改版上线(成都轨道集团官方网站改版上线)
- 成都轨道交通19号线二期全线电通(成都轨道交通19号线二期全线电通)
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
热门推荐
- filter的用法css(CSS filter 有什么神奇用途)
- python使用django搭建简单网页(Python后台开发Django的教程详解启动)
- ftp上传文件权限设置(FTP二进制上传是什么意思?设置并使用二进制BINARY上传?)
- ASP.NET中Web API的简单实例
- qt和js相互调用(QT与javascript交互数据的实现)
- cent os7.0 安装mysql(mysql8.0.23 linuxcentos7安装完整超详细教程)
- 微信小程序通知验证签名方法(微信小程序实现电子签名)
- <i>和<em>、<b>和<strong>的区别
- mysql字段和关键字(mySQL之关键字的执行优先级讲解)
- python语言支持多态(Python实现多态、协议和鸭子类型的代码详解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9