oracle 日誌-oracle 儲存創建

  1. create or replace type paramlist as array(4) of varchar2(20); 
  2. create or replace procedure firstproc(params in paramlist) as 
  3.         TYPE MY_CURSOR IS REF CURSOR;  
  4.          cur MY_CURSOR ;     
  5.        pd  pdata%rowtype; 
  6.        rsize number(10); 
  7. begin 
  8.   dbms_output.put_line('=====>>>>>1'||params(4)); 
  9.   select count(*) into rsize from pdata where ronum=params(4) ; 
  10.     
  11.    open cur for select * from pdata where ronum=params(4) ; 
  12.        if cur%isopen then 
  13.          dbms_output.put_line('=====>>>>>open'||rsize); 
  14.         end if; 
  15.           if cur%isopen then 
  16.            dbms_output.put_line('=====>>>>>20 '||rsize); 
  17.             fetch  cur into pd; 
  18.               insert into testa(aid,aname,idnumber,address) values(seq_testa.nextval,params(1),params(2),params(3)); 
  19.             insert into testb(bid,addattr,blevel,aquipment,attack,bmaster,aid,ronum)values(seq_testb.nextval,pd.addattr,pd.blevel,pd.aquipment,pd.attack,pd.bmaster,10000,pd.ronum); 
  20.             dbms_output.put_line('insert into a,b'); 
  21.             dbms_output.put_line('=====>>>>>2'); 
  22.             commit
  23.             update testa set bid=222222222222222; 
  24.             update testb set aid=(select aid from testa where  idnumber=params(2)); 
  25.             dbms_output.put_line('update from a,b'); 
  26.             dbms_output.put_line('=====>>>>>3'); 
  27.             commit
  28.        end if;     
  29.    close cur; 
  30.    exception when others then 
  31.    rollback
  32. end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章