Страницы

Поиск по вопросам

пятница, 19 октября 2018 г.

Поиск всех процедур и функций по названию конкретного столбца

Как можно вывести название всех процедур и функций, в которых используется конкретный столбец, точнее имя столбца? С поиском в таблицах и представлениях я разобрался, а с процедурами понимаю не так все просто.
Я не знаю как вывести (возможно через запрос) все названия процедур которые находятся в моей базе, по конкретному столбцу. То есть, все процедуры в которых мы или используем <Название столбца>для решения процедуры или используем для вывода в select. Решить проблему надеюсь с помощью запроса T-SQL, потому что вывод всех процедур из базы данных реализовать можно,думаю значить и можно от фильтровать, только не знаю как. В результате, в конце концов мне нужны названия процедур в которых встречается <Название столбца>


Ответ

Не знаю, возможно ли получить точный список процедур, где используется конкретный столбец конкретной таблицы. Для того, чтобы получить приблизительный список, можно воспользоваться следующим запросом:
SELECT SCHEMA_NAME(objects.schema_id), OBJECT_NAME(objects.object_id) FROM sys.sql_expression_dependencies JOIN sys.objects ON objects.object_id = sql_expression_dependencies.referencing_id AND objects.type IN ('P') WHERE sql_expression_dependencies.referenced_id = OBJECT_ID('MyTableName') AND OBJECT_DEFINITION(sql_expression_dependencies.referencing_id) LIKE '%MyColumnName%'
Соответственно, MyTableName - это имя таблицы, MyColumnName - это имя столбца этой таблицей.

Комментариев нет:

Отправить комментарий