2

如果我创建下表

create table test(
        id1 int,
        id2 int,
        id3 int constraint CK1 check (id3 > 2),
        constraint CK2 check (id1 > id2),
)

我可以通过查询找到CK1的依赖关系select * from sys.check_constraints。parent_column_id 将返回正确答案 3。但是,CK2 是另一回事,父列 id 返回 0。还有其他视图可以告诉我 CK2 的依赖列吗?

谢谢

4

2 回答 2

2

您可以使用INFORMATION_SCHEMA模式。

select cu.*
from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cu
inner join INFORMATION_SCHEMA.CHECK_CONSTRAINTS c on c.CONSTRAINT_NAME=cu.CONSTRAINT_NAME
where c.CONSTRAINT_NAME='CK2'
于 2013-09-26T15:43:34.513 回答
0

我更喜欢使用基本视图

select * 
from sys.check_constraints cc
join sys.objects o
  on o.object_id=cc.parent_object_id
于 2017-08-22T13:28:10.803 回答