oracle 游标实现多重循环

declare 
  -- Local variables here
  i integer;
  cursor c_province is select ds.swjg_dm from dm_swjg ds where ds.swjg_dm!=0;
  cursor c_year is select distinct yh.tjyf  from ygz_hs yh where yh.tjyf like '2013%' group by yh.tjyf;
  

begin
  -- Test statements here
  i:=0;
 for cp in c_province loop
     for cy in c_year loop
         i:=i+1;  
       --dbms_output.put_line('i='||i||'=='||cp.swjg_dm||cy.tjyf); -------------输出结果集       
         insert into ygz_hs values (cp.swjg_dm,cy.tjyf,'15000','15000','小规模纳税人');
     end loop c_year;

end loop c_province;

end;

一条SQL搞不掂的时候,要考虑循环游标的使用。

oracle可以做很多事情,多尝试,多动脑就会有很大的收货。

原文地址:https://www.cnblogs.com/riskyer/p/3400340.html