我想知道表或视图的哪些列是我当前视图中列的一部分。
对于“基本”版本,我使用当前视图的列,我使用sys.views
和sys.dm_sql_referenced_entities
...以及其他一些系统目录视图。
CREATE TABLE Table1
(
ID INT IDENTITY(1,1) NOT NULL,
Value1 INT
)
CREATE TABLE Table2
(
ID INT IDENTITY(1,1) NOT NULL,
Value2 INT
)
INSERT INTO Table1 (Value1)
VALUES (1), (2), (77)
INSERT INTO Table2 (Value2)
VALUES (5), (7), (44)
CREATE VIEW View1_Sum_Value
AS
SELECT
Table1.ID, Table1.Value1 + Table2.Value2 AS Sum_Value
FROM
Table1
INNER JOIN
Table2 ON Table1.ID = Table2.ID
结果:
ID | Sum_Value
----+----------
1 | 6
2 | 9
3 | 121
我想得到的是这样的:
referencing_object | referenced_object | is select | type
--------------------+-----------------------+---------------+----------
View1.ID | Table1.ID | yes | SELECT
View1.Sum_Value | Table1.Value1 | yes | SELECT
View2.Sum_Value | Table2.Value2 | yes | SELECT
View2 | Table2.ID | no | JOIN
有人可以帮我解决这个问题吗?