SQLPLUS 格式设置
SET COLSEP '|' 设定列之间分割符
SET NEWPAGE NONE 设置分多少页显示查询结果,不分页则设为NON
SET ECHO OFF SQLPLUS 中调用本地脚本时,是否显示脚本中命令。
SET FEEDBACK [ON|OFF|N] 设置SQL执行结束,反馈操作的行数
SET HEADING OFF; 不显示列名,开头空一行,如果顶格显示,可用 set pagesize 0
SET PAGESIZE 0; 设置每页行数,将 n 设为 0 可以不显示所有 headings, page breaks, titles, 空白行等
SET LINESIZE 80; 输出行宽,单位:字符
SET NUMWIDTH 12; 输出NUMBER类型长度
SET TERMOUT OFF; 不在屏幕输出脚本执行结果,只在后台显示,可提升脚本执行速度。
SET TRIMOUT ON; 去除屏幕输出每行的拖尾空格,缺省为OFF
SET TRIMSPOOL ON; 去除SPOOL输出每行的拖尾空格,使每行更紧凑
SET SERVEROUTPUT ON;设置允许显示输出,如DBMS_OUTPUT的输出
SET LONG 99999999; 允许单个字段输出长字符
SET VERIFY OFF 变量传入时,不显示 OLD 、NEW 信息
SET ARRARYSIZE 100 来控制每次取几行记录
SET TIME ON 命令提示符前显示时间,如:20:08:57 SQL>
SET TIMING ON; 显示执行耗时
SET AUTOTRACE ON; 查看执行计划
SET SPACE n; 设置不同列中间空格数
SET SQLBLANKLINES ON 允许SQL语句中出现空行,OFF下SQL语句存在空行则执行异常。
查看设定值
show autotrace
SPOOL 格式设定 11G
vi test.sql
SET LINESIZE 300
SET PAGESIZE 0
SET COLSEP ','
SET ECHO OFF
-- SET HEADING ON
SET NEWPAGE NONE
SET SQLBLANKLINES ON
SET TRIMSPOOL ON
SET TERMOUT OFF
SET FEEDBACK OFF
WHENEVER OSERROR EXIT
WHENEVER SQLERROR EXIT
spool /tmp/1.txt
select username,account_status,default_tablespace,temporary_tablespace,profile from dba_users;
spool off
exit
执行脚本
sqlplus -S mayi/mayi @test.sql
cat /tmp/1.txt
说明:
SPOOL xxx.log [append] # 默认为清空,append为追加
Spool 格式设定 12C
语法:
SET MARK(UP) CSV {ON/OFF} [DELIMI[TER] character] [QUOTE {ON/OFF}]
-- 设定spool格式为csv,分隔符为'|',每列用引号包括
spool markup csv on delimiter | quote on
-- 执行导出
spool /tmp/1.txt
select username,account_status,default_tablespace,temporary_tablespace,profile from dba_users;
spool off
exit