比较表中的多个列:回归测试



我目前正在执行回归测试,并想编写一个查询,该查询会自动比较两个表之间的列中的值。希望将来也能自动执行此功能。

基本上检查每个单元格。

我们目前使用的是基于 Oracle 和 MSSQL 的环境。

例如

Table A:
Column 1 |  Column 2 | Column 3
  540        EQUITY    10-09-12
Table B:
Column 1 |  Column 2 | Column 3
  330        CASH      10-03-11

帮助将不胜感激。

我们的测试人员发现对此类比较有用的最简单的查询之一是使用 MINUS 运算符。

SELECT COUNT(*)
FROM   ((SELECT *
         FROM   tableA
         MINUS
         SELECT *
         FROM   tableB)
        UNION ALL
        (SELECT *
         FROM   tableB
         MINUS
         SELECT *
         FROM   tableA)) ; 

这告诉您有多少行在TableA中,而不是在TableB中,在TableB中,而不是在TableA中。如果两个表具有相同的结构,并且您尝试仅比较值,则此方法有效。

您可以编写一个动态 PL/SQL 块,用于检查需要在循环中比较的所有表的此计数并生成报告。

您还可以在 ToadSQL Developer 中找到比较实用程序,它们也比较表结构。例如:- 如果列 A 在表 A 中,在表B 中缺失等,您可以生成报告。

如果表格大小较小,您还可以使用外部文本比较工具,例如 Beyond 比较Winmerge

相关内容

  • 没有找到相关文章

最新更新