天天看點

【原】oracle sql*plus set &spool介紹

作者:david_zhang@sh 【轉載時請以超連結形式标明文章】

連結:http://www.cnblogs.com/david-zhang-index/archive/2012/04/04/2431889.html

1. 設定目前session是否對修改的資料進行自動送出 :SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}

2.在用start指令執行一個sql腳本時,是否顯示腳本中正在執行的SQL語句 :SET ECHO {ON|OFF}

3.是否顯示目前sql語句查詢或修改的行數

預設隻有結果大于6行時才顯示結果的行數。如果set feedback 1 ,則不管查詢到多少行都傳回。當為off 時,一律不顯示查詢的行數

4.是否顯示列标題

當set heading off 時,在每頁的上面不顯示列标題,而是以空白行代替

5.設定一行可以容納的字元數

如果一行的輸出内容大于設定的一行可容納的字元數,則折行顯示

6.設定頁與頁之間的分隔

當set newpage 0 時,會在每頁的開頭有一個小的黑方框

SQL> select * from a; 

        1 不開機                                                    900

7.設定一頁有多少行數 :SET PAGES[IZE] {24|n}

如果設為0,則所有的輸出内容為一頁并且不顯示列标題

         1 不開機                                             900         

1 短路                                                        200

         8 10分鐘                                            NULL

8.是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的資訊。 :SET SERVEROUT[PUT] {ON|OFF}

在編寫存儲過程時,我們有時會用dbms_output.put_line将必要的資訊輸出,以便對存儲過程進行調試,隻有将serveroutput變量設為on後,資訊才能顯示在螢幕上。

9.顯示每個sql語句花費的執行時間 :set TIMING {ON|OFF}

10.關于SPOOL(SPOOL是SQLPLUS的指令,不是SQL文法裡面的東西),對于SPOOL資料的SQL,最好要自己定義格式,以友善程式直接導入,SQL語句如:

spool常用的設定

11.set long

是不是可以用set long 指令來增加下面的Text列的寬度?

是的 , set long指定的是當字段為long類型的時候,顯示的長度