是否有机会找到具有指定参数x
的所有存储过程?
我相信(伪代码):
select * from master where objectType = 'storedprocedure' and parameter='x'
存储过程的元信息存储在哪里(在主数据库中)?
我必须使用Microsoft SQL Server。
感谢您的帮助。
亲切的问候,帕特里克
答案 0 :(得分:7)
您可以使用的相关INFORMATION_SCHEMA
视图是PARAMETERS
。此查询将列出具有此类参数的所有存储过程:
SELECT DISTINCT p.SPECIFIC_NAME
FROM INFORMATION_SCHEMA.PARAMETERS p
WHERE p.PARAMETER_NAME = '@x'
答案 1 :(得分:4)
对于sql server 2005+,如果需要2000的脚本 - 请在问题中注明
IF EXISTS (
SELECT *
FROM sys.procedures pr
JOIN sys.parameters pa
ON pr.object_id = pa.object_id
WHERE
pr.object_id = object_ID('dbo.ProcName')
AND pa.name = '@paramName'
)
PRINT 'Exists!'