【发布时间】:2019-07-10 10:34:58
【问题描述】:
我需要检查两个同名但架构不同的表中的数据之间的差异。我有两个模式: Database1 和 Database2 ,在第一个模式中我有 TABLE_TEST 并且在第二个模式中 TABLE_TEST 也是。表中的数据彼此之间存在一些差异。我需要找出那些差异。我试过的是上面的查询,但它抛出了这个错误
ORA-00942: 表或视图不存在
00942. 00000 - “表或视图不存在”
SELECT *
FROM Database1.TABLE_TEST
INNER JOIN Database2.TABLE_TEST
ON Database1.TABLE_TEST.ID = Database2.TABLE_TEST.ID;
表格的外观以及我需要显示的差异
【问题讨论】:
-
你有两个模式还是两个数据库?这是两个非常不同的事情。如果这些确实是模式 (=users),那么您用于运行查询的 oracle 用户需要对所有表具有选择权限 - 包括不属于该帐户的表。
-
两个模式,不要介意名字:)
-
在您的示例 2 和 4 中,内部联接不会找到具有不同
id的行。如果您想查看它们,您需要full join。并使用别名使语法更具可读性。