1

我想知道表或视图的哪些列是我当前视图中列的一部分。

对于“基本”版本,我使用当前视图的列,我使用sys.viewssys.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

有人可以帮我解决这个问题吗?

4

0 回答 0