SQLPLUS之set常用设置

为方便sqlplus显示,我们可以通过set设置相关的参数来显示输出数据格式,例如做sql追踪、spool等,下面将部分常用设置记录下,方便使用:

1、查看set帮助文档
      help set
2、查看set 参数值
      show all;        
      show var_value ;
3、常用set参数以及含义
    set echo {on|off};      ##在用一个start命令执行sql脚本时,是否显示脚本中正在执行的命令。 (缺省为on)
    set feedback {6|n|on|off};    ##是否显示当前sql语句查询或修改的行数(例如查询结果后面显示的14 rows selected.),默认只有结果大于6行时才会显示行数,如果设置set feedback 1,无论结果有多少行都显示,如果设置set feedback off,不显示行数。 (缺省为on)
    set timing {on|off};    ##是否显示每个sql语句执行所花费的时间(例如查询结果后面显示的Elapsed: 00:00:44.85)。(缺省为off)
    set heading {on|off};    ##是否显示列标题,如果设置set heading off,不显示列标题,而是以空行代替。 (缺省为on)
    set long {80|n};        ##设置long类型列的在缓冲区存放的字节数
    set linesize {80|n};         ##设置输出一行所能容纳的字符数,默认一行长度为80个字符,自己可以定义,例如set linesize 100.(缺省为80 )
    set pagesize {24|n};           ##设置每页所能容纳的行数,默认一页有24行,自己可以定义,例如set pagesize 50。通过设置set pagesize 0来用一页显示所有行数即不分页显示。
    set warp {on|off};        ##当查询结果输出行的长度大于设置的linesize时,当warp设置为on时,多余的字符会另起一行,如果设置为off,输出行多余的字符会被切除,不予显示。
    set serveroutput {on|off};    ##是否显示使用DBMS_OUTPUT.PUT_LINE包输出的结果,在编写存储过程时,有些情况需要使用dbms_output.put_line输出必要的信息,只有将serveroutput 设置为on,输出的信息才能显示在屏幕中。
    set termout {on|off};    ##在使用spool命令将查询的结果保存到一个文件里时,如果数据量很大,将结果输出到屏幕是会消耗资源,如果设置set termout off,只把输出结果保存到文件中,不会输出在屏幕。(缺省为on)
    set trimout {on|off};    ##将在spool中输出的每行后面多余的空格去掉。(缺省为off)
    set trimspool on;             ##去除spool输出结果中每行的结尾空格(缺省为off)
    set markup html {on|off};    ##将sqlplus的输出格式以html样式展现,此命令可以和spool命令联用
    set verify off;        ##不显示替代变量被替代前后的语句,可以关闭和打开提示确认信息old 1和new 1的显示
    set numwidth 16;         ##设置number类型字段长度为16(缺省为10)
    set colsep ' ';         ##列输出分隔符
    set autotrace on ;        ##设置允许对执行的sql进行分析,SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]
    col value format 999999;    ##防止数字列查询显示为#号,可以通过设置列格式

4、附录
    1)spool 设置
    set feedback off;
    set echo off;
    set lineszie 200;
    set pagesize 0;
    set verify off;
    set heading off;
    set termout  off;
    set warp  on;
    col col_name format 999999;

    2)sqlplus登陆设置
define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1,
decode( dot, 0, length(global_name), dot-1) ) global_name
from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on




请使用浏览器的分享功能分享到微信等