SQL Server 2008 R2 DMV - sys.dm_sql_referencing_entities - 查询用法

2024-05-27

我正在尝试使用以下命令获取表列表的所有依赖项sys.dm_sql_referencing_entities DMV.

这个查询给了我所有表的列表:

SELECT TableName from FinalTableList;  

此查询给出 TableA 的依赖关系:

SELECT  referencing_entity_name
FROM sys.dm_sql_referencing_entities ('dbo.TableA', 'OBJECT') ;  

我想将上述 2 项合并到一个查询或过程中,以便我可以获得以下格式的所有依赖项:

TableA  Dependency1
        Dependency2
        Dependency3
TableB  Dependency1
        Dependency2
...................

应该如何构建查询?


这是您想要使用的地方的一个很好的例子cross apply。这是一个例子:

SELECT  tablename, referencing_entity_name
FROM (select 'information_schema.columns' as tablename, 'object' as type) t cross apply
     sys.dm_sql_referencing_entities(t.tablename, t.type)

在第一个子查询(称为t),您可以只列出所有参数对。然后,cross apply将在每个上运行该函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server 2008 R2 DMV - sys.dm_sql_referencing_entities - 查询用法 的相关文章

随机推荐