我已經從程序中提取了一些自動生成的TSQL,並且在查詢的FROM
部分中有一百萬個(稍微誇張的)JOINS
到各種表。從TSQL中提取表名查詢
許多重複但具有不同的別名,例如, table1
,table1_1
,table1_2
等等 有沒有一種方法或工具,只會列出我在聚合級別的表名,所以我可以確切地看到哪些表正在使用? 例如在上面的例子中,我只想看到table1
列出。
我已經從程序中提取了一些自動生成的TSQL,並且在查詢的FROM
部分中有一百萬個(稍微誇張的)JOINS
到各種表。從TSQL中提取表名查詢
許多重複但具有不同的別名,例如, table1
,table1_1
,table1_2
等等 有沒有一種方法或工具,只會列出我在聚合級別的表名,所以我可以確切地看到哪些表正在使用? 例如在上面的例子中,我只想看到table1
列出。
使用sp_describe_first_result_set和t @ browse_information_mode = 1來返回如下例所示的查詢元數據。要獲取彙總信息,請將這些結果插入臨時表或表變量並進行查詢以獲取所需的信息。聯機叢書(http://msdn.microsoft.com/en-us/library/ff878602.aspx)中描述了結果表模式。
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;
謝謝丹,我會給你一個去看看我如何繼續。 – 2014-11-05 14:04:54
怎麼樣查詢編輯器Ctrl + Shift + Q? – 2014-11-05 13:13:05
如果你可以提取別名,爲什麼你不能提取表名?他們將永遠在別名之前。 – 2014-11-05 13:18:51
哇@MitchWheat我猜你的父母曾經給你帶來任何禮節。我認爲這是一個友好的論壇,但考慮到你對我的問題的迴應,你顯然不願意侮辱他人。正如我的用戶名所示,我是SQL新手,所以我認爲如果我的知識不像你的上帝那樣與地位一致。 – 2014-11-05 13:31:02