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

Blaider 2010-04-11 02:23:59
在SQL Server下,可以使用 checksum(*) 计算出每行数据的哈希值,用这个方法可以对比两个表中的数据是否全部一致。那在Oracle中是不是也有类似的函数可以计算出每行的数据是否一致。表中的数据大约有几万行,如果用每个字段做比较怕以后修改表结构后,方法失效……
谢谢各位了……
...全文
471 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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语句比较的有文章介绍,没有用过

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧