2010-10-21 49 views
1

我必須將大量遺留SQL查詢轉換爲存儲過程(重寫和整理),我正在尋找一種有效的方法來逐一比較結果,以確保我沒有修改過這些行爲。我目前使用SQLDelta,但它需要我將每個查詢的結果傳輸到表中,並使用SSIS將其傳輸到單獨的服務器。這是因爲SQL Delta是圍繞比較數據庫/表而不是數據集。它不會比較同一個數據庫中的表。任何人都知道一種方法/工具來比較即席SQL查詢?

真的是我想知道的是沒有任何人有一個方法/工具來比較的SQLDelta方式即席查詢結果(也就是匹配了上PK匹配行,突出差異,間距結果顯示附加/缺少的行在每組中)。理想情況下,我會粘貼SQL之前和之後並生成結果。結果集可以是〜10到20萬行和〜50列。

不能相信我無法通過谷歌找到這些行的東西。任何幫助讚賞。

感謝

回答

1

一個低技術含量的方法是將每個輸出的結果到一個文件中,(SQL Manager有一個「結果到文件」按鈕),並使用一個diff工具,像tortoise merge

編輯


如果你從來沒有拉從SQL Manager作爲文本結果時,以表格的形式出來。

PrimaryLocation_FacilityLongName                  SecondaryLocation_FacilityLongName                 HasPublicComment HasPublicAttachment CMRID        CustomerIDNumber 
---------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------- ---------------- ------------------- ------------------------------------ ------------------------------ 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    95FA6986-DB86-4E6F-8C48-05948AA94A30 1145 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    0E40FF65-804E-47F7-9BCC-112185196162 1146 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    908C5ADB-333C-42D0-9CDD-2FF196696B00 103 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    BA8239B2-BF53-451F-A6B2-44432D8B7BC7 1241 
BCCH-Ambulatory Care Center                   NULL                         0    NULL    3B873A2C-4E1C-4E26-A3F7-6FDB0EE61EF2 1244 
BCCH-Ambulatory Care Center                   NULL                         NULL    NULL    417242E8-E656-4AA3-A4B7-989E5740C84B 1239 

只要查詢是有序的。你所要做的就是打開Tortoise合併,並在文件中尋找紅點。如果沒有任何你願意去的話。

+0

謝謝,但僅僅因爲它們的剪切尺寸,沒有以網格方式排列的比較是痛苦的,雖然 – Ray 2010-10-21 12:25:07

+0

這就是爲什麼我會使用龜合併。它將突出顯示兩個查詢之間的哪些行和列是不同的。 – 2010-10-21 12:29:49

+0

或者你可以使用ms字或任何其他文本比較工具 – Beth 2010-10-21 14:46:48

相關問題