Как можно вывести название всех процедур и функций, в которых используется конкретный столбец, точнее имя столбца? С поиском в таблицах и представлениях я разобрался, а с процедурами понимаю не так все просто.
Я не знаю как вывести (возможно через запрос) все названия процедур которые находятся в моей базе, по конкретному столбцу. То есть, все процедуры в которых мы или используем <Название столбца>для решения процедуры или используем для вывода в 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 - это имя столбца этой таблицей.
Комментариев нет:
Отправить комментарий