Hello是否有一种方法可以让我轻松找到SQL Server中使用特定函数的所有存储过程,例如ex。函数fn_Test()
?
我希望使用此函数查看所有存储过程。
由于
答案 0 :(得分:3)
这应该做你想做的事情,它将返回任何带有输入文本的sproc:
SELECT DISTINCT so.name
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id
WHERE sc.TEXT LIKE '%fn_Test%'
答案 1 :(得分:2)
你可以使用,
SELECT obj.Name SPName, sc.TEXT SPText
FROM sys.syscomments sc
INNER JOIN sys.objects obj ON sc.Id = obj.OBJECT_ID
WHERE sc.TEXT LIKE '%' + 'YOUR_FUNCTION_NAME' + '%'
AND TYPE = 'P'
答案 2 :(得分:0)
这段sql将列出包含该函数名称的所有存储过程。但是,这可能包括评论中的内容。我认为这对于这份工作来说已经足够了
select distinct name from sysobjects
where type = 'P'
and id in (select id from syscomments where text like '%fn_Test%')
order by name
答案 3 :(得分:0)
查看sys.dm_sql_referencing_entities。