C# SQL查询的分解/文档

C# SQL查询的分解/文档,c#,sql,sql-server,C#,Sql,Sql Server,我有一个非常大、复杂且未记录的数据库。我的任务是提供一个文档,该文档将显示所有存储过程、函数等都使用了哪些表和列 根据我的研究,大多数查询的格式与此类似: SELECT u.FirstName , u.LastName, a.AccountNumber FROM Username u LEFT JOIN Account a ON a.UserID = u.UserID 约90%的表和列将具有别名 此外,我还有一个表,有两列—函数/存储过程名称及其SQL代码 我正在寻找一种方法(最好是SQL,但

我有一个非常大、复杂且未记录的数据库。我的任务是提供一个文档,该文档将显示所有存储过程、函数等都使用了哪些表和列

根据我的研究,大多数查询的格式与此类似:

SELECT u.FirstName , u.LastName, a.AccountNumber
FROM Username u
LEFT JOIN Account a
ON a.UserID = u.UserID
约90%的表和列将具有别名

此外,我还有一个表,有两列—函数/存储过程名称及其SQL代码

我正在寻找一种方法(最好是SQL,但可以是C#),它将为上述SQL代码输出以下结果:

  • 用户名-名字
  • 用户名-姓氏
  • 用户名-用户ID
  • 帐户-用户ID
  • 帐号-帐号
实现这一目标的最佳方法是什么?我试图用信息_SCHEMA.COLUMNS连接每个SQL代码单元格,但结果不准确,比如列名出现在COLUMNS表中,但实际上并未用于SQL代码单元格中的特定表


谢谢

您可能想查看您正在查看的存储过程/函数的依赖关系

看看

e、 g.如果过程名为dbo.myproc,则如下所示

SELECT '* ' + referenced_entity_name + ' - ' + referenced_minor_name
FROM sys.dm_sql_referenced_entities ('dbo.myproc', 'OBJECT')
WHERE referenced_minor_name is not null;

您可能想查看所查看的存储过程/函数的依赖关系

看看

e、 g.如果过程名为dbo.myproc,则如下所示

SELECT '* ' + referenced_entity_name + ' - ' + referenced_minor_name
FROM sys.dm_sql_referenced_entities ('dbo.myproc', 'OBJECT')
WHERE referenced_minor_name is not null;

我有点困惑,但我也很难理解。您是否希望通过使用一种方法来绕过结果集的循环?我有点困惑,但我也相当密集。您是否希望通过使用一种方法绕过结果集的循环?