如何创建对 SQL 服务器存储过程的依赖
How to create a dependency on SQL Server stored procedures
我有一个存储过程,sp1
,它有两个输入参数。一个是 int
数据类型,另一个是 varchar
数据类型。
我正在从另一个过程 sp2
调用此过程。
现在,出于某种原因,我向 sp1
添加了一个附加参数,并且我将 varchar
数据类型修改为 float
或 int
。这种变化肯定会打破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
存储过程的所有对象。
我有一个存储过程,sp1
,它有两个输入参数。一个是 int
数据类型,另一个是 varchar
数据类型。
我正在从另一个过程 sp2
调用此过程。
现在,出于某种原因,我向 sp1
添加了一个附加参数,并且我将 varchar
数据类型修改为 float
或 int
。这种变化肯定会打破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
存储过程的所有对象。