declare
i number;
temp_sum number;
temp_hfmpcode temptable.pubname%type; --temptable.pubname%type指的是temptable表的pubname字段的类型
temp_fullname temptable.pubcode%type;
begin
select count(*) into temp_sum from temptable b;
i := 1;
while i<=temp_sum loop
--1、查询
select t.pubname into temp_hfmpcode from (select rownum rn,b.* from temptable b order by b.pubname) t where t.rn between i and i;
select t.pubcode into temp_fullname from (select rownum rn,b.* from temptable b order by b.pubname) t where t.rn between i and i;
--2、更新
update r_pubinfo t set t.hfmpcode=temp_hfmpcode where t.fullname=temp_fullname;
i := i+1;
end loop;
end;
以上代码在sql/plus直接运行即可
原文地址:http://blog.51cto.com/1197822/2156612