当前位置:数据库 > Oracle >>

oracle游标实现多重循环

oracle游标实现多重循环
 
[sql] 
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可以做很多事情,多尝试,多动脑就会有很大的收货。
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,