Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从TSQL查询中提取表名_Sql Server_Tsql_Names - Fatal编程技术网

Sql server 从TSQL查询中提取表名

Sql server 从TSQL查询中提取表名,sql-server,tsql,names,Sql Server,Tsql,Names,我从一个程序中提取了一些自动生成的TSQL,在查询的from部分中,有一百万个(稍微夸张的)连接到不同的表 批次是重复的,但别名不同,例如表1、表1\u 1、表1\u 2等。 是否有一种方法或工具可以在聚合级别上列出表名,以便我可以准确地看到正在使用哪些表? e、 g.在上面的示例中,我只想看到列出的表1。使用sp\u description\u first\u result\u set witht@browse_information_mode=1返回查询元数据,如下面的示例所示。要获取聚合信

我从一个程序中提取了一些自动生成的TSQL,在查询的
from
部分中,有一百万个(稍微夸张的)
连接到不同的表

批次是重复的,但别名不同,例如
表1
表1\u 1
表1\u 2
等。 是否有一种方法或工具可以在聚合级别上列出表名,以便我可以准确地看到正在使用哪些表?
e、 g.在上面的示例中,我只想看到列出的
表1

使用sp\u description\u first\u result\u set witht@browse_information_mode=1返回查询元数据,如下面的示例所示。要获取聚合信息,请将这些结果插入临时表或表变量,然后通过查询获取所需信息。联机丛书()中描述了结果表模式


那么查询编辑器Ctrl+Shift+Q呢?如果可以提取别名,为什么不能提取表名呢?他们总是在化名之前。哇@MitchWheat我猜你的父母把你抚养大的时候没有礼貌。我认为这是一个友好的论坛,但考虑到你对我问题的回答,你显然是故意侮辱别人。正如我的用户名所暗示的,我是SQL新手,所以如果我的知识不符合你的上帝般的身份,我深表歉意。嗨@KM。我知道我可以用这种方式检查它们,如果是10或20行连接,这很好,但是有190行连接,我只是想知道是否有一种方法可以轻松查看非dup表。如果这有道理的话。下面我将给出丹的答案,开始吧。谢谢你,丹,我会尝试一下,看看我进展如何。
EXEC sp_describe_first_result_set 
    @tsql = N'
        SELECT t1.column_1, c.name
        FROM dbo.table_1 AS t1
        JOIN dbo.table_2 AS t2 ON
            t2.column_1 = t1.column_1'
    ,@params = NULL
    ,@browse_information_mode = 1;