ストアド プロシージャについて知りたい情報はすべて、INFORMATION_SCHEMA.PARAMETERS、SYS.PARAMATERS、SYS.PROCEDURES、SYS.SQL_MODULES などのテーブルで見つけることができます。
この問題は、INFORMATION_SCHEMA.PARAMETERS の PARAMETER_NAME をクエリすることで解決できます。
例えば
; WITH T AS (SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Unit'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@Member'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@BegDate'
UNION ALL
SELECT [specific_name] FROM information_schema.parameters WHERE [parameter_name] = '@EndDate')
SELECT [specific_name]
FROM T
GROUP BY [specific_name] HAVING COUNT(*) = 4
または、4 つのパラメーターを持つすべてのプロシージャーを検索するには、次のようにします。
SELECT [specific_name] FROM information_schema.parameters GROUP BY [specific_name] HAVING COUNT(*) = 4