分类: Oracle
oracle使用spool导出select查询结果

Spool,是Oracle快速导出数据的工具,是sqlplus的指令,不是sql语法里的东西;
特殊场景,只有select表数据的权限,想要导出所有查询结果,使用sqlplus操作sql如下:

    set trimspool on;            #去除重定向(spool)输出每行的拖尾空格,缺省为off
    set linesize 500;            #输出一行字符个数,缺省为80
    set pagesize 30;             #输出每页行数,缺省为24,为了避免分页,可设定为0。
    set newpage 3;               #页和页之间隔着n个空行
    set heading off;             #输出域标题,缺省为on
    set term off;                #显示脚本中的命令的执行结果,缺省为on
    spool /tmp/e.sql;            #查询结果保存的文件          
    select * from brc.sale;      #查询
    spool off;                   #把文件发送到标准打印输出

其他参数说明:

SQL> set timing on;              #设置显示“已用时间:XXXX”
SQL> set autotrace on-;            #设置允许对执行的sql进行分析
SQL> set trimout on;             #去除标准输出每行的拖尾空格,缺省为off
SQL> set echo on                #设置运行命令是是否显示语句
SQL> set echo off;                 #显示start启动的脚本中的每个sql命令,缺省为on
SQL> set feedback on;           #设置显示“已选择XX行”
SQL> set feedback off;          #回显本次sql命令处理的记录条数,缺省为on
SQL> set colsep' ';             #输出分隔符
SQL> set numwidth 12;             #输出number类型域长度,缺省为10
SQL> set serveroutput on;          #设置允许显示输出类似dbms_output
SQL> set verify off             #可以关闭和打开提示确认信息old 1和new 1的显示.


相关博文:

发表新评论