Как Найти список Хранимых процедур, которые влияют на конкретный столбец?

Используйте переменную:

DECLARE @u uniqueidentifier;

SET @u = NEWID();

EXEC dbo.CreateNewbesonUser @u, 0, 'bbad', 0, 'trtr', 0, 0;

Здесь приведен иллюстративный пример в db <> fiddle.

8
задан Community 23 May 2017 в 11:54
поделиться

3 ответа

Имейте Вас, попробовал это: EXEC sp_depends @objname = [table name of the column you are interested in].

Так, например, если Вам назвали столбец Price в названной таблице Product, Вы выполнили бы это: EXEC sp_depends @objname = N'Product'.

Просто выполнение этого дало бы Вам список всего SPS, представлений, и т.д. которые зависят от той конкретной таблицы.

Я использую это все время, когда я работаю с дб, который имеет более чем 400 таблиц :-)

страница sp_depends на MSDN

11
ответ дан 5 December 2019 в 05:34
поделиться

Попробуйте что-то вроде этого:

use YourDatabase;

select [Name]    
from sys.procedures
where object_definition([object_id]) like '%YourColumnName%';

Очевидно, это имеет потенциал для генерации большого количества ложных положительных сторон в зависимости от того, чем называют столбец, но по крайней мере у Вас будет список процедур для отсеивания через.

8
ответ дан 5 December 2019 в 05:34
поделиться

Вот тот, который работает в SQL 2000 +; Обратите внимание, что, поскольку Andrew отметил в его, Вы получите ложные положительные стороны в зависимости от своего имени столбца, но это - стартовое место:

SELECT DISTINCT o.Name
FROM syscomments c
    JOIN sysobjects o ON c.ID = o.ID
WHERE c.Text LIKE '%ColumnName%'
ORDER BY o.Name
1
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: