日期:2014-05-17 浏览次数:21233 次
可以直接用minus!
------解决方案--------------------
两个表 A 和 表B,表结构一样,那么
select * from A
minus
select * from B
有结果出来,说明两个表的数据就不一样。
你现在是两个DB,那么从其中一个建一个database link 连接到另外一个上面就行了。
至于第二种方法,可以不学,能用数据库本身功能实现的就用数据库本身的功能。
WITH a AS (SELECT 1 FROM dual UNION ALL SELECT 2 FROM dual ),b AS (SELECT 1 FROM dual UNION ALL SELECT 3 FROM dual ) (SELECT * FROM a MINUS SELECT * FROM b) UNION ALL (SELECT * FROM b MINUS SELECT * FROM a) --result: 2 3
------解决方案--------------------
假设在第一个db上建了dblink连接到第二个db上
create database link dblink_name connect to user_name identified by password using
连接字符串
select * from A
minus
select * from A@dblink_name