ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 表间数据的update方法

表间数据的update方法

原创 Linux操作系统 作者:hb0860 时间:2012-03-23 15:49:18 0 删除 编辑

方法一:
update table2
  set col=(select col from table1 where table1.id=table2.id)
  where id=(select table1.id from table1 where table1.id=table2.id);
方法二:    与方法一道理相同,这里需要掌握EXIST的相关用法.
 update table2
   set col=(select col from table1 where table1.id=table2.id)
   where exists (select 1 from table1 where table1.id=table2.id)
方法三:
  update (select a.col cola,a.id ida,b.col colb,b.id idb from table2 a,table1 b where a.id=b.id)
  set cola=colb
这种方法的局限性就是需要PRIMARY 的支持(需要id是主键).
方法四:
declare
cursor cur_up is select col,id from table1;
begin
   for my_col in cur_up loop
   update table2 set col=my_col.col
   where id=my_col.id;
   end loop;
end;
/
当数据量非常大时,不建议采用这个做法,效率可能有问题
方法五:
采用 merge into 更新

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/38006/viewspace-719388/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-11-20

  • 博文量
    31
  • 访问量
    57898