在学习的时候遇到一个情况:表一:
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
...如果表比较小,用游标循环就可以搞定。但是如果表比较大,有没有更好效率更高的方法呢?
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
...如果表比较小,用游标循环就可以搞定。但是如果表比较大,有没有更好效率更高的方法呢?
2,表1做truncate,
3,更新满足“将表一中date大于表二date的num更改为表二的num”条件的临时表数据,
4,把临时表的数据批量插入的表1中