如何使用TSQL获取Check Constraint的最小值和最大值?

时间:2016-03-19 14:42:08

标签: sql sql-server tsql

我正在使用以下脚本创建一个检查约束(如果它不存在):

if not exists (select * from dbo.sysobjects where id= object_id(N'[APA].[CK_APALog_APALogType_Range]') and OBJECTPROPERTY(id,N'IsConstraint')=1)
    ALTER TABLE [APA].[APALog] ADD CONSTRAINT CK_APALog_APALogType_Range CHECK ( APALogType >=1  AND APALogType <=3 )
go

并使用以下查询检索有关约束的一些信息:

select  constraintsColumns.COLUMN_NAME ,tableConstraints.CONSTRAINT_NAME ,tableConstraints.CONSTRAINT_TYPE ,tableConstraints.TABLE_NAME 
from information_schema.TABLE_CONSTRAINTS tableConstraints  
join information_schema.CONSTRAINT_COLUMN_USAGE constraintsColumns  
     on   tableConstraints.TABLE_NAME=constraintsColumns.TABLE_NAME  
     and  tableConstraints.CONSTRAINT_NAME =constraintsColumns.CONSTRAINT_NAME 
where tableConstraints.CONSTRAINT_TYPE in ('CHECK') and constraintsColumns.COLUMN_NAME='APALogType'

我无法实现的是检索我在约束创建中指定的minimummaximum值。

是否可以使用TSQL

来检索这些值

1 个答案:

答案 0 :(得分:2)

我认为你可能不得不求助于解析它;虽然至少文本是规范化的,这使它更容易:

x