Sqlplus下的set命令詳解

梓沐發表於2016-02-15
Oracle的sqlplus是與資料庫互動的客戶端工具,在sqlplus中可以執行sql語句和sqlplus命令。在此就來給大家詳細的介紹相關的set命令。

(1) sql>set echo {on|off};

在用一個start命令執行sql指令碼時,是否顯示指令碼中正在執行的命令。


(2) sql>set feedback{6|n|on|off};

是否顯示當前sql語句查詢或修改的行數(例如查詢結果後面顯示的14 rows selected.),預設只有結果大於6行時才會顯示行數,如果設定set feedback 1,無論結果有多少行都顯示,如果設定set feedback off,不顯示行數。


(3) sql>set timing {on|off};

是否顯示每個sql語句執行所花費的時間(例如查詢結果後面顯示的Elapsed: 00:00:44.85)。


(4) sql>set heading {on|off};

是否顯示列標題,如果設定set heading off,不顯示列標題,而是以空行代替。


(5) sql>set long {80|n};

設定long型別列的在緩衝區存放的位元組數。


(6) sql>set linesize {80|n};

設定輸出一行所能容納的字元數,預設一行長度為80個字元,自己可以定義,例如set linesize 100.


(7) Sql>set pagesize {24|n};

設定每頁所能容納的行數,預設一頁有24行,自己可以定義,例如set pagesize 50.


(8) Sql>set warp {on|off};

當查詢結果輸出行的長度大於設定的linesize時,當warp設定為on時,多餘的字元會另起一行,如果設定為off,輸出行多餘的字元會被切除,不予顯示。


(9) Sql>set serveroutput {on|off};

是否顯示使用DBMS_OUTPUT.PUT_LINE包輸出的結果,在編寫儲存過程時,有些情況需要使用dbms_output.put_line輸出必要的資訊,只有將serveroutput設定為on,輸出的資訊才能顯示在螢幕中。


(10) Sql>set termout {on|off};

在使用spool命令將查詢的結果儲存到一個檔案裡時,如果資料量很大,將結果輸出到螢幕是會消耗資源,如果設定set termout off,只把輸出結果儲存到檔案中,不會輸出在螢幕。


(11) Sql>set trimout {on|off};

將在spool中輸出的每行後面多餘的空格去掉。


(12) sql>set markup html {on|off};

sqlplus的輸出格式以html樣式展現,此命令可以和spool命令聯用,如下:

SQL> set markup html on spool on;

SQL> spool /home/oracle/xx.html

SQL> spool off;

SQL> set markup html off;



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

相關文章