方法一:
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/38006/viewspace-719388/