oracle存储过程将数据写入txt文档事例。

第一步:创建表T_TXT_TABLE
create
table T_TXT_TABLE ( ID INTEGER, TXT_NR NVARCHAR2(50) ); 第二步:向表中插入测试数据
insert
into t_txt_table (ID, TXT_NR) values (1, '本文测试1'); insert into t_txt_table (ID, TXT_NR) values (2, '本文测试2'); 第三步:创建txt文档生成的位置。sql语句创建的为oracle存储位置,需手动到具体的目录下创建目录。
create
or replace directory txt_dir as 'd:/txt_dir'; 第四步:编写存储过程。
create
or replace procedure USP_TXT_OUTPUT is txt_handle UTL_FILE.file_type; type type_table is table of t_txt_table%rowtype; v_table type_table; v_filenr clob; BEGIN select * bulk collect into v_table from t_txt_table t; for i in 1 .. v_table.count loop v_filenr := v_filenr || v_table(i).TXT_NR; end loop;  /**此处的目录位置必须为大写,否则会报找不到目录的错误,32767为能接受的最大数据**/
txt_handle :
= UTL_FILE.FOPEN('TXT_DIR', '测试文本.txt', 'w',32767); UTL_FILE.PUT_LINE(txt_handle, v_filenr); UTL_FILE.FCLOSE(txt_handle); end;

 

posted on 2013-08-12 10:30  小蚂工  阅读(780)  评论(0)    收藏  举报

导航