1

テーブルまたはビューのどの列が現在のビューの列の一部であるかを知りたいです。

「基本」バージョンでは、現在のビューに列を使用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

誰かがこの問題を解決するのを手伝ってくれますか?

4

0 に答える 0