SQLPLUS之set常用設定

yepkeepmoving發表於2016-08-30
為方便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




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27067062/viewspace-2124231/,如需轉載,請註明出處,否則將追究法律責任。

相關文章