Как получить только имя таблицы, используя Sp_depends?

Как получить имена таблиц, используемые только в хранимой процедуре sp_depends . Например

 EXEC sp_depends Samplesp1 

Он дает имена таблиц и их имена столбцов, используемые в samplesp1 . Но мне нужны только имена таблиц.

Самый простой способ – создать временную таблицу типа sqluser, упомянутую в этом ответе.

 CREATE TABLE #temp (NAME VARCHAR(250) , [type] VARCHAR(250) , updated CHAR(2) , selected CHAR(3) , [column] VARCHAR(250)) -- insert the data from procedure's rresult into temporary table INSERT #temp EXEC sp_depends @objname = N'Samplesp1' SELECT NAME FROM #temp t --Filter condition WHERE t.type = 'user table' drop TABLE #temp 

Эта статья. Как делиться данными между хранимыми процедурами показывает различные другие методы, подходящие для вашего сценария.

Из всех вариантов мой личный фаворит использует OPENQUERY :

 SELECT * FROM OPENQUERY(YOURSERVERNAME, 'EXEC MyProc @parameters') WHERE somefield = anyvalue 

В SO уже есть хорошо ответивший вопрос о сценарии – хранимая процедура SQL Server – SELECT FROM . Глядя в ответы, вы получите еще несколько вариантов.

Вы можете сохранить результат в временную таблицу

 CREATE TABLE #tmp ( name VARCHAR(250) ,[type] VARCHAR(250) ,updated CHAR(2) ,selected CHAR(3) ,[column] VARCHAR(250) ) INSERT #tmp EXEC sp_depends @objname = N'yoursp' SELECT name FROM #tmp 
Interesting Posts

Выбор нескольких счетчиков, сгруппированных по времени из одной таблицы

Как создать таблицу сценариев в SQL Server для получения данных вместе со схемой

SQL: количество записей по последовательной дате, даже если для даты нет записей

SQL Server rownumbering и отфильтрованные результаты

SQL Query, чтобы выбрать определенные значения столбца и объединить их

Является ли неправильная практика NOLOCK (Sql Server hint)?

Безопасно ли использовать SUM () без ISNULL ()

Поиск выполнения восстановления SQL-сервера изнутри c #

Как дублировать и добавлять больше символов в строку строки в sql?

Как вставить нуль в столбце типа даты в sql-сервере

Каков эффективный способ поиска строк, где временная метка и личность не находятся в последовательности?

Есть ли серьезная проблема при использовании EXEC sp_rename '<имя исходной таблицы>', '<имя таблицы назначения>'?

Добавление индекса для таблицы, созданной в хранимой процедуре

Самый элегантный способ генерации перестановок на SQL-сервере

список представлений, ссылающихся на таблицу

Давайте будем гением компьютера.