当前位置:  数据库>oracle

Spool缓冲池技术导出Oracle数据为文本文件

    来源: 互联网  发布时间:2017-04-21

    本文导语: 利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件。 1、在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件名:  spool d:/output.txt   2、   set heading off                        --去掉字段名   set time off  ...

利用Oracle中的Spool缓冲技术可以实现Oracle数据导出到文本文件。

1、在Oracle PL/SQL中输入缓冲开始命令,并指定输出的文件名:

 spool d:/output.txt

 

2、

  set heading off                        --去掉字段名

  set time off   echo off   head off     --此行设置不计算时间     不显示sql语句   不每隔几行现一下列名  

  set pagesize 0                         --去掉没格几行就显示一下的空行或多余的空格  

  set trims on                           --去掉全部空格,默认长度不够填充空格    

  set feedback off                       --不显示选择行数   不能和上一行和在一起  

3、在unix/linux知识 iis7站长之家中随便输入你的SQL查询

 select mobile from customer;

 select mobile from client;

 ……

3、在命令行中输入缓冲结果命令:

 spool off;

 

 则系统将缓冲池中的结果都输出到"output.txt"文件中,以TAB键分隔!

-----------------------------------------------------------------

ksh:

runlog=p_divide_001.log

nohup sqlplus " datatrans/hw@szdb1"</dev/null 2>&1 &

set serveroutput on

set timing on

set time on

spool $runlog

set autocommit on;

exec P_DIVIDE_INDEX_new(755,'CM_SUBS_SERVICE','SUBSID','P_DEL_DOUBLE_OPEN');

commit;   

spool off

!

 

或者:

  sqlplus -s $v_dest_tns_user/$v_dest_tns_pswd@$v_dest_tns_db <<  EOF | grep "DATA.VALUE" | while read s1 s2

    set linesize 512 pagesize 512 head off

    select 'DATA.VALUE' "FIELDNAME",

           decode(data_type,'DATE',      column_name||' date ''yyyy-mm-dd hh24:mi:ss'' '||

                                           decode(column_id,$v_max_column_id, '',','),

                            'VARCHAR2',  column_name||' char('||to_char(data_length)||')'||

                                           decode(column_id,$v_max_column_id, '',','),

                            column_name||  decode(column_id,$v_max_column_id, '',','))

    from all_tab_columns

    where owner=upper('$v_dest_tns_user') and table_name=upper('$v_table_name')

    order by column_id;

EOF

  do

    echo $s2 >> ./$v_datafile_name.ctl

  done

 

----------------

sqlplus -s  datatrans/hw@szdb1 <sql.log

   set linesize 1024 pagesize 512 head off

   select * from dt_region;

EOF

 

 

SQL> set echo on         --设置运行命令是是否显示语句

SQL> set feedback on         --设置显示“已选择XX行”

SQL> set colsep |          --设置列与列之间的分割符号

SQL> set pagesize 10         --设置每一页的行数

SQL> set serveroutput on --设置允许显示输出类似dbms_output

SQL> set heading on         --设置显示列名

SQL> set timing on         --设置显示“已用时间:XXXX”

SQL> set time on         --设置显示当前时间

SQL> set autotrace on         --设置允许对执行的sql进行分析

 

set verify off                  --可以关闭和打开提示确认信息old 1和new 1的显示.

set colsep ''                   --域输出分隔符

set linesize 4000                   --输出一行字符个数,缺省为80

set pagesize 0                   --输出每页行数,缺省为24,为了避免分页,可设定为0。

set num 16(或者set numwidth 16)        --输出number类型域长度,缺省为10

set trimspool on                 --去除重定向(spool)输出每行的拖尾空格,缺省为off

set heading off                  --输出域标题,缺省为on

set feedback off                 --回显本次sql命令处理的记录条数,缺省为on

set termout off;                 --显示脚本中的命令的执行结果,缺省为on

set timing off;                 --显示每条sql命令的耗时,缺省为off

set trimout on;                 --去除标准输出每行的拖尾空格,缺省为off

set echo off                    --显示start启动的脚本中的每个sql命令,缺省为on


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.print.attribute.standard类printerstatereason的类成员方法: spool_area_full定义及介绍
  • 请问freeBSD中/var/spool/mqueue/目录的作用
  • 为什么我没有/usr/spool/mail这个目录 我的crontab运行的结果从哪里查找啊
  • var满了,VAR/spool/mail里面的内容可以删吗?
  • 手工删除/var/spool/pkg/下的文件包后,pkgadd还是提示软件包有安装,为什么?
  • 请教aix系统的var/spool/mqueue 目录是放什么的
  • 我的linux sendmail邮件服务器的/var/spool/mqueue有很多文件,应该怎样清除没有发送出去的过时邮件呢
  • 居域网内,sendmail能够收到outlook的邮件,/var/spool/mail中有信息,但是outlook再收信就出错
  • 程序运行几天后,会出现Segmentation fault, aborting. You have new mail in /var/spool/mail/root.我怎么查错?
  • Oracle中spool命令实现的两种方法比较


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,