Oracle存储过程执行中输出日志文件


Sql代码
  1. create or replace procedure p_outputdebug(a varchar2,b varchar2,c varchar2)   
  2. is  
  3.   vFileName             varchar2(100);   
  4.   OutputFile            UTL_FILE.FILE_TYPE;   
  5. begin  
  6.      select 'rfid_'||a.rfid||'.log'  
  7.        into vFileName   
  8.        from tbl_animal_info a where a.rfid='330100000078176'  
  9.   
  10.      ;   
  11.      OutputFile := utl_file.fopen('background_dump_dest',vFileName,'a');   
  12.      utl_file.putf(OutputFile,a,b,c);   
  13.      utl_file.fflush(OutputFile);   
  14.      utl_file.fclose(OutputFile);   
  15. end ;   
  16.   
  17.   
  18. SQL> create or replace directory "background_dump_dest"as 'D:\database\cares100\bdump';   
  19.   
  20. Directory created   
  21.   
  22. SQL> grant read on directory "background_dump_dest" to myuser;   
  23.   
  24. Grant succeeded   
  25.   
  26. SQL> grant write on directory "background_dump_dest" to myuser;   
  27.   
  28. Grant succeeded   
  29.   
  30. SQL> call myuser.p_outputdebug('1','1','1');   
  31.   
  32. Method called   
  33.   
  34. --需要注意的一点是:日志目录需创建在Oracle所在服务器上,否则报错。  
UTL_FILE.FOPEN 用法 见

相关内容