日期:2014-05-17  浏览次数:20977 次

oracle两张表数据比对
数据表A,10个字段,包含索引字段ID,大概有1500万条数据,数据表B,8个字段,也包含索引字段ID,大概有1200万条记录,现在要在B表中根据ID的值比对A表的数据,如果找到记录,就更新A表记录,请问有什么高效的办法?

------解决方案--------------------
update 表a set ... from 表a,表b where 条件
------解决方案--------------------
update a set (field1,field2) select b.field1,b.field2 from a a1,b where condition
------解决方案--------------------
1.如果你的SQL是运行在现网环境下,个人建议你不要一条命令搞定.

建议你使用游标,分批量处理.
------解决方案--------------------
有那么多数据用一条数据肯定是不合适的,建议分段进行
------解决方案--------------------
学习中,不过简单更新应该SQL足已,复杂的建议游标更合适