Gil*_*lla 2 sql dependencies sql-server-2008-r2 dmv
我正在尝试使用 DMV 获取表列表的所有依赖项sys.dm_sql_referencing_entities。
这个查询给了我所有表的列表:
SELECT TableName from FinalTableList;
Run Code Online (Sandbox Code Playgroud)
此查询给出 TableA 的依赖关系:
SELECT referencing_entity_name
FROM sys.dm_sql_referencing_entities ('dbo.TableA', 'OBJECT') ;
Run Code Online (Sandbox Code Playgroud)
我想将上述 2 项合并到一个查询或过程中,以便我可以获得以下格式的所有依赖项:
TableA Dependency1
Dependency2
Dependency3
TableB Dependency1
Dependency2
...................
Run Code Online (Sandbox Code Playgroud)
应该如何构建查询?
这是一个很好的例子,说明了您想要在哪里使用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)
Run Code Online (Sandbox Code Playgroud)
在第一个子查询(称为t)中,您可以只列出所有参数对。然后,cross apply将在每个上运行该函数。
| 归档时间: |
|
| 查看次数: |
1754 次 |
| 最近记录: |