导航
  • 主页
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

怎么对比两个表的内容是否一致

Blaider 2010-04-11 02:23:59
在SQL Server下,可以使用 checksum(*) 计算出每行数据的哈希值,用这个方法可以对比两个表中的数据是否全部一致。那在Oracle中是不是也有类似的函数可以计算出每行的数据是否一致。表中的数据大约有几万行,如果用每个字段做比较怕以后修改表结构后,方法失效……
谢谢各位了……
...全文
291 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Blaider 2010-04-11
[Quote=引用 5 楼 etsilence 的回复:]
用minus的话不用拼字段内容啊,把列对应上直接用就是了,但是如果其中一张表更改了列名,那么这个就要跟着改一下了。
[/Quote]
谢谢了,就用Minus了
回复
etsilence 2010-04-11
用minus的话不用拼字段内容啊,把列对应上直接用就是了,但是如果其中一张表更改了列名,那么这个就要跟着改一下了。
回复
Blaider 2010-04-11
[Quote=引用 2 楼 etsilence 的回复:]
表结构如果修改的话,用minus好像不通用, selece col1,col2 from tab1 minus select col1,col2
form tab2; select col1,col2 from tab2 minus select col1,col2 from tab1;
如果表结构不改,才几w条数据比较倒是很轻松。
[/Quote]
方法还不错,和原来的想法差不多,就是把所有的字段内容用||连起来,然后对比了……
回复
Blaider 2010-04-11
[Quote=引用 1 楼 java3344520 的回复:]
我用过导出来然后再用第三方工具UTRAEDIT比较的,
直接用SQL语句比较的有文章介绍,没有用过
[/Quote]
目前主要是从SQL Server上把数据导到Oracle中,然后对比一下哪些记录被修改过。每天怎自动对比这些记录是否全部相同。并把这些改动记录下来。如果是使用第三方工具的话,就没有办法在过程里直接对比完成了。
回复
etsilence 2010-04-11
表结构如果修改的话,用minus好像不通用, selece col1,col2 from tab1 minus select col1,col2
form tab2; select col1,col2 from tab2 minus select col1,col2 from tab1;
如果表结构不改,才几w条数据比较倒是很轻松。
回复
iqlife 2010-04-11
我用过导出来然后再用第三方工具UTRAEDIT比较的,
直接用SQL语句比较的有文章介绍,没有用过
回复
发动态
发帖子
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
社区公告
暂无公告