我有多个表在列的检查约束中使用标量函数。有些表在多列中使用相同的功能。这些约束显然都有不同的名称。
我需要更改此功能,但是首先必须删除所有引用该功能的约束。
是否有可能基于函数名称获取引用此函数作为约束的表和列的列表?
在理想情况下,约束的名称都将包含它们引用的函数的名称,但是不幸的是,对于我的数据库,情况并非如此。
答案 0 :(得分:0)
您可以使用此脚本:
select s.name as constraintName,c.name as ColName,o.name as TableName
from sys.check_constraints s
join sys.all_columns c on s.parent_object_id=c.object_id and s.parent_column_id=c.column_id
join sys.objects o on o.object_id=c.object_id
where s.definition like '%your function name%'