限制SQL Server 2008中值的可接受范围

时间:2010-11-12 18:28:51

标签: sql-server sql-server-2008 validation user-defined-types

我想定义一个可接受范围为0-10的tinyint。我知道如何使用触发器验证列并实现此效果。

但是,是否可以创建一个用户定义的数据类型来指定此范围作为规则?然后,如果尝试超出范围的值,当然会自动抛出错误,而不需要触发器?

2 个答案:

答案 0 :(得分:3)

使用CHECK constraint而非user defined types使用

非常尴尬

答案 1 :(得分:3)

首先,使用约束创建规则,然后创建类型,然后将其关联:

http://www.mssqltips.com/tip.asp?tip=1628

(但我同意gbn,99.99%的时间,只是使用检查约束)