我需要比较两个表中的数据。这些表在架构上相似,但是将具有不同的数据值。我想将这些数据导出为csv或类似格式,然后检查是否存在差异。
我想使用python脚本执行此检查。我已经弄清楚了如何将数据导出为csv格式。但是我的问题是,由于两个表都不在接收器中,因此同一行的主键可能不同。此外,与表中的行顺序可能不同。 CSV比较在这方面对我没有帮助。
下面是CSV格式的数据库表示例 ID,名称,名称,部门
1,Ann,Manager,Sales
2,布莱恩,行政,营销
4,Melissa,Director,Engineering
5,乔治,经理,工厂
1,Ann,Manager,Sales
2,乔治,经理,工厂
3,布莱恩,行政,营销
Melissa在第二个数据库中缺少记录。但是,即使George和Brian的ID不同,也被视为相同的记录。
我发现有用于此任务的商业软件,但是我需要的是可以在流程中使用的脚本,以识别表中的差异。
答案 0 :(得分:0)
我以前有这样的问题。我的解决方法如下:
答案 1 :(得分:0)
可能不是完整的解决方案,希望这可能有所帮助。
如果要比较两个表,它们位于不同的数据库/环境中,则在SQL_Developer中需要一个DB_Link。
select name||'--'||designation||'--'||department from employee_db_1
minus
select name||'--'||designation||'--'||department from employee_db_2
union
select name||'--'||designation||'--'||department from employee_db_2
minus
select name||'--'||designation||'--'||department from employee_db_1;
好文章: https://blogs.oracle.com/sql/how-to-find-and-delete-duplicate-rows-with-sql