Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写SQL约束脚本,使数字在某个范围内?_Sql_Sql Server_Sql Server 2000 - Fatal编程技术网

如何编写SQL约束脚本,使数字在某个范围内?

如何编写SQL约束脚本,使数字在某个范围内?,sql,sql-server,sql-server-2000,Sql,Sql Server,Sql Server 2000,使用SQL Server,如何对表中的字段编写约束脚本,使可接受的值范围介于0和100之间?ALTER table ALTER TABLE Table ADD CONSTRAINT CK_Table_Column_Range CHECK ( Column >= 0 AND Column <= 100 --Inclusive ) 添加约束检查表列范围检查( 列>=0和列检查约束,如“fieldname介于0和100之间”应该可以做到这一点。尝试: ALTER TABLE myT

使用SQL Server,如何对表中的字段编写约束脚本,使可接受的值范围介于0和100之间?

ALTER table
ALTER TABLE Table
ADD CONSTRAINT CK_Table_Column_Range CHECK (
   Column >= 0 AND Column <= 100 --Inclusive
)
添加约束检查表列范围检查( 列>=0和列检查约束,如“fieldname介于0和100之间”应该可以做到这一点。

尝试:

ALTER TABLE myTableName
ADD CONSTRAINT myTableName_myColumnName_valZeroToOneHundred
CHECK (myColumnName BETWEEN 0 AND 100)
此检查将包含所有内容-以下是来自MSDN的有关中间人的一些信息:
我认为,正确的问题不是“如何”,而是“为什么”

这个0-100规则听起来像是一个业务规则。为什么要在服务器/数据库端实现它?如果输入的值不正确,谁会收到错误消息

如果用户收到错误消息,在事务到达服务器之前让代码给他消息不是更容易吗


那么范围修改呢?规则是否会更改?我想是的:规则总是会更改。范围是否可以从0-100更新到101-200?在这种情况下,数据库中已经输入的值如何?

如果您像其他答案中提到的那样使用0到100之间的
,SQL Server Management Studio会将其转换为
([column]>=(0)及[专栏]@Phillippe Grondier:由于愚蠢的人为错误或有时难以理解或复制的复杂系统错误,在中型和大型组织的数据库服务器上存在大量的坏数据,你会感到惊讶。企业中的创新越多,将坏数据注入数据库的机会就越大如果您希望拥有一个一致的数据库,只需在数据库模式中执行必要的检查。如果用户收到错误消息会发生什么?除了向数据库中插入错误数据之外,还有很多事情。