如果我创建下表
create table test(
id1 int,
id2 int,
id3 int constraint CK1 check (id3 > 2),
constraint CK2 check (id1 > id2),
)
我可以通过查询select * from sys.check_constraints
找到CK1的依赖关系。 parent_column_id将返回正确答案3.然而,CK2是一个不同的故事,父列id返回0.是否有另一个视图可以告诉我CK2的依赖列?
由于
答案 0 :(得分:1)
您可以使用 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'
答案 1 :(得分:0)
我更喜欢使用基本视图
select *
from sys.check_constraints cc
join sys.objects o
on o.object_id=cc.parent_object_id