我正在尝试使用以下命令获取表列表的所有依赖项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(使用前将#替换为@)