当前位置: 代码迷 >> Oracle管理 >> sql中直接写txt的话语
  详细解决方案

sql中直接写txt的话语

热度:137   发布时间:2016-04-24 04:11:29.0
sql中直接写txt的语句
目前我做抽数,数据量大的时候,一般是用 dbms_output.put_line() 打印出来的,导出来再导成excel,比较麻烦,有没有直接写入文本的sql语句,
------解决思路----------------------
引用:
自己顶一下。

用utl_file来实现
------解决思路----------------------
看你怎么用了,如果是在应用里面,建议使用utl_file包,需要先创建一个directory,并且允许你的用户读写。

SQL> create directory aaaa as '/home/oracle/aaaa' ;
SQL> grant read,write on directory aaaa to useraa;

然后utl_file包里的目录就可以指定它了。 ——需要注意的是,这个目录是在服务器上的,写出的文件也是在服务器上。

另一种情况,如果你就是用脚本导数,或者手工,那么可以用sqlplus的spool功能。

------解决思路----------------------
spool ......
------解决思路----------------------
引用:
Quote: 引用:

spool ......
用spool的话 中间可以执行,过程语言么,因为我要在里面做打印抽数操作,
类似 
declare
   dbms_output.put_line();
end;

 那用 utl_file试试
------解决思路----------------------
使用脚本吧?先写一个脚本export.sql
set echo off
set feedback off
set newpage none 
set pagesize 0
set linesize 20000
set verify off
set term off
set trims on
set heading on
set timing off
spool D:\aa.txt
select * from dual;
spool off;
quit;
exit;
再写一个命令调用。sqlplus user/pwd@xxx  @export.sql
  相关解决方案