如何创建对 SQL 服务器存储过程的依赖

How to create a dependency on SQL Server stored procedures

我有一个存储过程,sp1,它有两个输入参数。一个是 int 数据类型,另一个是 varchar 数据类型。

我正在从另一个过程 sp2 调用此过程。

现在,出于某种原因,我向 sp1 添加了一个附加参数,并且我将 varchar 数据类型修改为 floatint。这种变化肯定会打破sp2

SQL 服务器本身是否有可用的工具或进程来更改 sp2 如果 sp1 已更改?我需要强制执行。

除了适当的评论之外,还有什么办法吗?

您可以查看 sys.sql_dependencies 目录视图 - 例如像这样:

SELECT 
    original.name, original.type_desc
FROM 
    sys.objects original 
INNER JOIN 
    sys.sql_dependencies dep ON dep.object_id = original.object_id
INNER JOIN 
    sys.objects ref ON dep.referenced_major_id = ref.object_id
WHERE
    ref.Name = 'sp1'

这将列出数据库中以某种方式引用 sp1 存储过程的所有对象。