SQL Server——规则是什么?规则和约束有什么不同?

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 是单独的SQL Server对象,可以关联到一个或几个表中的一列或几列。它可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字BETWEEN、LIKE和IN完成对输入数据的检查

规则是什么?


是单独的SQL Server对象,可以关联到一个或几个表中的一列或几列。它可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字BETWEEN、LIKE和IN完成对输入数据的检查


通俗来说就是:对一个表的某一列创建一个规则,当用户插入数据时,能插入什么样的数据,不能插入什么样的数据,起到一个限制的作用


如何创建一个规则?


语法:
CREATE RULE rule_name
AS
codition_expression


需求:现有一个score表,限制用户输入分数的值,只能在0-100之间


score

id cid score
1 1 66
2 1 99
3 2 77


第一步,创建规则


--创建规则sc
--设置成绩得取值范围在0和100之间
create rule sc
as
@value between 0 and 100


第二步,绑定规则到具体的列


--绑定规则到score表的score列
sp_bindrule sc,'score.score'


当我对score表的score列进行数据插入时,系统就会自动报错


20200505205356384.png


如何删除规则?


注:如果要删除 某一个规则的话,必须先对这个规则进行“解除绑定”操作,然后再删除规则


解除规则绑定
语法:
--解除规则绑定
sp_unbindrule[@obkectname=]<object_name>
[,[@futureonly=]<futureonlu_flag>


需求:删除score规则


--解除规则绑定
sp_unbindrule 'score.score'
--删除规则
drop rule score


可能有些小伙伴就会问了,CHECK约束也是对表中的某一列起限制作用,那有一个不就行了,为什么还要有两个呢?他们有什么区别?我们先动手试试吧~~


如何创建约束?


实例:使用约束的方法对score列指定范围,限制输入


--创建check约束
--指定字段score输入的分数在0和100之间
create table score_info 
(
id int not null,
cid int not null,
score int CHECK( score between 0 and 100)
);


现在对score表score字段进行数据插入操作,这是系统就会自动报错


2020050520572139.png


相关用户也可以点击:SQL的五大约束_吃豆子的恐龙的博客-CSDN博客


规则和约束有什么不同?


  • 规则是单独存储在该数据库中的,约束是和表联系在一起的
  • 当表删除时,约束也就被删除了,规则并不会
  • 一个字段可以有多个约束,但只能有一个规则
相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
相关文章
|
1月前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
60 11
|
1月前
|
SQL 存储 Oracle
sql约束条件
【10月更文挑战第28天】sql约束条件
46 8
|
2月前
|
SQL 安全 网络安全
SQL安装程序规则错误解决方案
在安装SQL Server时,遇到安装程序规则错误是一个比较常见的问题
|
2月前
|
SQL 存储 数据库
SQL学习一:ACID四个特性,CURD基本操作,常用关键字,常用聚合函数,五个约束,综合题
这篇文章是关于SQL基础知识的全面介绍,包括ACID特性、CURD操作、常用关键字、聚合函数、约束以及索引的创建和使用,并通过综合题目来巩固学习。
52 1
|
2月前
|
SQL 安全 Windows
SQL安装程序规则错误解析与解决方案
在安装SQL Server时,用户可能会遇到安装程序规则错误的问题,这些错误通常与系统配置、权限设置、依赖项缺失或版本不兼容等因素有关
|
2月前
|
数据库
SQL_语句常见的操作创建,使用,删除表和表级约束
SQL_语句常见的操作创建,使用,删除表和表级约束
37 0
|
3月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
5月前
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
134 13
|
5月前
|
SQL
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
|
5月前
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
73 6