欢迎光临
我们一直在努力

oracle根据多个条件分别修改符合条件的记录

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直接运行即可

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。