1

我必须将许多遗留 SQL 查询转换为存储过程(重写和整理),并且我正在寻找一种有效的方法来逐一比较结果以确保我没有修改行为。我目前使用 SQLDelta,但它要求我将每个查询的结果通过管道传输到表中,并使用 SSIS 将一个传输到单独的服务器。这是因为 SQL Delta 旨在比较数据库/表而不是数据集。它不会比较同一数据库中的表。

我真正想知道的是,有没有人有一种方法/工具来以 SQLDelta 方式比较临时查询结果(即匹配 PK 上的匹配行,突出显示差异,间隔结果以显示每组中的附加/缺失行) . 理想情况下,我会粘贴之前和之后的 SQL 并生成结果。结果集可以是 ~10 到 200k 行和 ~50 列。

不敢相信我无法通过谷歌找到这些方面的东西。任何帮助表示赞赏。

谢谢

4

1 回答 1

1

一种技术含量低的方法是将每个结果输出到文件中(SQL 管理器有一个“结果到文件”按钮)并使用比较工具,如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 合并并在文件中查找红点。如果没有你很高兴去。

于 2010-10-21T12:23:49.580 回答