SQL> create or replace procedure to_txt2 is
2 rowval varchar2(1000);
3 I_output utl_file.file_type;
4 begin
5 I_output:=utl_file.fopen('UTLFILEDIR','test.txt','w');
6 for my_cur in (select * from t) loop
7 select rpad(my_cur.abnormal_type_code,10)
8 ||rpad(my_cur.abnormal_name,20)
9 ||rpad(to_char(my_cur.app_type_code),10)
10 ||rpad(my_cur.handle_time_limit,10)
11 ||rpad(my_cur.dpt_no_deal,10)
12 ||rpad(my_cur.formu_code,10)
13 ||rpad(my_cur.cbj_err_code,10)
14 into rowval from dual;
15 utl_file.put_line(I_output,rowval);
16 end loop;
17 utl_file.fclose(I_output);
18 end;
19 /
Procedure created
SQL> select count(*) from t
2 /
COUNT(*)
----------
10
SQL> create or replace directory UTLFILEDIR as 'e:\';
Directory created
SQL> execute to_txt2;
PL/SQL procedure successfully completed
SQL> show err
No errors
但是呢,在e盘没生成test.txt,问题出在哪个,请高手指教
解决方案 »
- 有什么好的建议做毕业设计
- Oracle To_NUMBER用法求教
- 在线等,在sql*plus中如何类似创建存储过程
- Insert into ... select ...执行方式
- 刚接触Oracle的存储过程菜鸟问题
- 安装ORACALE时进度停留在46%动不了
- 面临选择oracle9i或oracle 10g的难题
- 数据库建好以后在manager console里看不到是怎么回事
- 处理并发性问题
- 为什么在我的方案(mytry)明明存在有表(mytable),用sqlplus里用select * from mytry.mytable,却告知表不存在?
- 大表字段拆分与查询效率的问题
- ORACLE中怎么执行存储过程
v_sql_2:='insert into xxxxxxxxx';
execute immediate v_sql_2;
commit;
--open file
file_handle:=utl_file.fopen(location=>'xxxxx',filename=>'xxxxxxxxxx.txt',open_mode=>'A');
--write file
utl_file.put_line(file_handle,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')||' '||v_sql_2);
--close file
utl_file.fclose(file_handle);