我在生产环境中运行一个查询,据说返回了 500 行,我在我的开发中有相同的副本,但查询只返回 497 行。
可以采取什么方法或步骤来比较结果?
有工具吗?
最佳答案
假设两个数据库之间存在数据库链接,并且返回的数据与大多数相关行匹配,您可以使用 MINUS 运算。有点像
SELECT list_of_columns
FROM some_table
WHERE some_criteria
MINUS
SELECT list_of_columns
FROM some_table@db_link_to_dev
WHERE some_criteria
将向您显示第一个查询返回的行与第二个查询返回的行没有完全匹配的行。理想情况下,这只会显示额外的三行。但如果为某些列返回的数据在两种环境中不同,它可能会返回额外的行。
关于Oracle排差调试技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282784/