Проверьте, имеет ли хранимая процедура указанный параметр с помощью сценария SQL - PullRequest
2 голосов
/ 28 декабря 2011

Есть ли шанс найти все хранимые процедуры с указанным параметром x?

По моему мнению (псевдокод):

select * from master where objectType = 'storedprocedure' and parameter='x'

Где находится метаинформация осохраненные процы хранятся (в основной базе данных)?

Мне нужно использовать Microsoft SQL Server.

Спасибо за вашу помощь.

С уважением, Патрик

Ответы [ 2 ]

7 голосов
/ 28 декабря 2011

Соответствующее INFORMATION_SCHEMA представление, которое вы можете использовать, - PARAMETERS. Этот запрос выведет список всех хранимых процедур, имеющих такой параметр:

SELECT DISTINCT p.SPECIFIC_NAME
FROM INFORMATION_SCHEMA.PARAMETERS p
WHERE p.PARAMETER_NAME = '@x'
4 голосов
/ 28 декабря 2011

Для 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!'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...