首先是create 一个directory :
create or replace directory MY_DIR as'C:\app\crying\oracle_dirp';
授权
grant read,write on directory MY_DIR to scott;
设置
alter system set utl_file='C:\app\crying\oracle_dir' scope=both;
之后就可写一个存储过程来利用utl_file
create or replace procedure p1(dir varchar2,filename varchar2) is
file utl_file.file_type;
begin
file:=utl_file.fopen(dir,filename,'w'); --对文件附上权限我这里的是写的权限
utl_file.put_line(file,'以下是emp表的信息');
for rec in (select * from emp) loop
utl_file.put_line(file,'员工:'||rec.ename||'在'||substr(trunc(rec.hiredate),4,3)||'赚了'||rec.sal); --这里可以指定你想输出的内容 注意put_line之后要加 file
end loop;
utl_file.fclose(file); --记得关闭你的file
end;
之后再你的directory 路径下查看就能看到你生产的txt文件
以下是emp表的信息
员工:SMITH在DEC赚了800
员工:ALLEN在FEB赚了1600
员工:WARD在FEB赚了1250
员工:JONES在APR赚了2975
员工:MARTIN在SEP赚了1250
员工:BLAKE在MAY赚了2850
员工:CLARK在JUN赚了2450
员工:SCOTT在APR赚了3000
员工:KING在NOV赚了5000
员工:TURNER在SEP赚了1500
员工:ADAMS在MAY赚了1100
员工:JAMES在DEC赚了950
员工:FORD在DEC赚了3000
员工:MILLER在JAN赚了1300
以下是emp表的信息
员工:SMITH在DEC赚了800
员工:ALLEN在FEB赚了1600
员工:WARD在FEB赚了1250
员工:JONES在APR赚了2975
员工:MARTIN在SEP赚了1250
员工:BLAKE在MAY赚了2850
员工:CLARK在JUN赚了2450
员工:SCOTT在APR赚了3000
员工:KING在NOV赚了5000
员工:TURNER在SEP赚了1500
员工:ADAMS在MAY赚了1100
员工:JAMES在DEC赚了950
员工:FORD在DEC赚了3000
员工:MILLER在JAN赚了1300
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30163683/viewspace-1603479/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30163683/viewspace-1603479/