我正在使用以下脚本创建一个检查约束(如果它不存在):
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'
我无法实现的是检索我在约束创建中指定的minimum
和maximum
值。
是否可以使用TSQL
?
答案 0 :(得分:2)
我认为你可能不得不求助于解析它;虽然至少文本是规范化的,这使它更容易:
x