求助修改表中数据

wumujusha 2012-04-23 07:38:33
在学习的时候遇到一个情况:

表一:
ID date num
A 2008/01/01 25
A 2009/01/01 25
A 2010/01/01 25
A 2011/01/01 25
B 2009/01/01 12
B 2010/01/01 12
B 2011/01/01 12
C 2008/01/01 88
C 2009/01/01 88
C 2010/01/01 88
C 2011/01/01 88
...

表二

ID date num
A 2009/10/18 30
C 2010/11/11 100
...

根据表二中对应的ID,将表一中date大于表二date的num更改为表二的num

形成新表:
ID date num
A 2008/01/01 25
A 2009/01/01 25
A 2010/01/01 30
A 2011/01/01 30
B 2009/01/01 12
B 2010/01/01 12
B 2011/01/01 12
C 2008/01/01 88
C 2009/01/01 88
C 2010/01/01 88
C 2011/01/01 100
...

如果表比较小,用游标循环就可以搞定。但是如果表比较大,有没有更好效率更高的方法呢?
...全文
93 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxyzxq2008 2012-04-23
  • 打赏
  • 举报
回复
1,根据date日期,把表1中的数据分别存到两个临时表中,
2,表1做truncate,
3,更新满足“将表一中date大于表二date的num更改为表二的num”条件的临时表数据,
4,把临时表的数据批量插入的表1中

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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