Использование T- SQL для идентификации столбцов, используемых в соединениях в определениях представлений - PullRequest
0 голосов
/ 09 января 2020

Допустим, вы определили представление в соответствии с:

CREATE VIEW v_name 
AS
SELECT * FROM a
JOIN b ON a.col1 = b.col2

Можно ли использовать запрос, функцию или хранимую процедуру для получения столбцов, которые были объединены?

I Следует понимать, что существуют некоторые параметры, позволяющие получать таблицы с использованием sys.sql_expression_dependencies, sys.views или sys.dm_referenced_entitities (), но они не позволяют получить больше метаданных, чем использованная таблица.

1 Ответ

0 голосов
/ 09 января 2020

Не полный ответ, но полезно для начала.

SELECT TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, SUBSTRING(VIEW_DEFINITION, CHARINDEX('join', VIEW_DEFINITION, 1), LEN(VIEW_DEFINITION)) AS 'View_Join'
FROM INFORMATION_SCHEMA.VIEWS 
WHERE VIEW_DEFINITION like '%JOIN%ON%'
...