ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle_generate file eg

Oracle_generate file eg

原创 Linux操作系统 作者:kinglin_zy 时间:2010-10-29 15:22:54 0 删除 编辑

create or replace procedure sp_utl_file_yz
is
    f1 utl_file.file_type;  
    type job_record_type is record(
                                    log_date varchar2(11),
                                    game_id   varchar2(2),
                                    acu       varchar2(20),
                                    pcu       varchar2(20),
                                    pay_count varchar2(20),
                                    pay       varchar2(20),
                                    expend    varchar2(20),
                                    newlogin varchar2(20),
                                    alive     varchar2(20));
    game_kpi job_record_type;
   
    cursor cur_kpi_zx is
          select to_char(log_date, 'yyyy-mm-dd')||chr(9),
                 game_id||chr(9),
                 acu||chr(9),
                 pcu||chr(9),
                 pay_count||chr(9),
                 pay||chr(9),
                 expend||chr(9),
                 newlogin||chr(9),
                 alive
          from   game_kpi_day;
begin
     f1 := utl_file.fopen('/home/oracle/data', 'kpi_zx.data', 'w');
     open   cur_kpi_zx;

     loop
        fetch cur_kpi_zx into  
               game_kpi.log_date,
               game_kpi.game_id,
               game_kpi.acu,
               game_kpi.pcu,
               game_kpi.pay_count,
               game_kpi.pay,
               game_kpi.expend,
               game_kpi.newlogin,
               game_kpi.alive;
        exit when cur_kpi_zx%NOTFOUND;
       
        utl_file.put(f1, game_kpi.log_date);
        utl_file.put(f1, game_kpi.game_id);
        utl_file.put(f1, game_kpi.acu);
        utl_file.put(f1, game_kpi.pcu);
        utl_file.put(f1, game_kpi.pay_count);
        utl_file.put(f1, game_kpi.pay);
        utl_file.put(f1, game_kpi.expend);
        utl_file.put(f1, game_kpi.newlogin);
        utl_file.put_line(f1, game_kpi.alive);
     end loop;
     close cur_kpi_zx;              
     utl_file.fflush(f1);
     utl_file.fclose(f1);
EXCEPTION    
      WHEN others THEN     
      IF utl_file.is_open(f1) THEN        
          utl_file.fclose(f1);             
      END IF;
end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/781883/viewspace-677068/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: COB investigation(一)
请登录后发表评论 登录
全部评论

注册时间:2009-09-22

  • 博文量
    58
  • 访问量
    77956