oracle sql*plus set &spool介紹(一)

來源:互聯網
上載者:User

1). 設定當前session是否對修改的資料進行自動認可 :SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}
SQL> set autocommit off

 

2).在用start命令執行一個sql指令碼時,是否顯示指令碼中正在執行的SQL語句 :SET ECHO {ON|OFF}
SQL> set echo on

 

3).是否顯示當前sql語句查詢或修改的行數
SQL> SET FEED[BACK] {6|n|ON|OFF}
預設只有結果大於6行時才顯示結果的行數。如果set feedback 1 ,則不管查詢到多少行都返回。當為off 時,一律不顯示查詢的行數

 SQL> set feed off
SQL> select * from dual;

D
-
X
SQL> set feed on
SQL> select * from dual;

D
-
X

已選擇 1 行。(區別於此)

 

4).是否顯示欄位標題
SQL> SET HEA[DING] {ON|OFF}
當set heading off 時,在每頁的上面不顯示欄位標題,而是以空白行代替
SQL> set hea on
SQL> select * from a;

        ID SNAME                                                     AGE(列名)
---------- -------------------------------------------------- ----------
         1 不開機                                                    900
SQL> set heading off
SQL> select * from a;

         1 不開機                                                    900

 

5).設定一行可以容納的字元數
SQL> SET LIN[ESIZE] {80|n}
如果一行的輸出內容大於設定的一行可容納的字元數,則折行顯示。

SQL> set lin 20
SQL> select * from a ;

         1
不開機
       900

 

6).設定頁與頁之間的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
當set newpage 0 時,會在每頁的開頭有一個小的黑方框。

SQL> set newpage 0
SQL> select * from a;
        1 不開機                                                    900
當set newpage n 時,會在頁和頁之間隔著n個空行。

SQL> set newpage 3
SQL> select * from a;

 

         1 不開機                                                    900 (前面有3行空行)
當set newpage none 時,會在頁和頁之間沒有任何間隔。

7).顯示時,用text值代替NULL值  SET NULL text(其中text代表你要填充的文本)
SQL> set null null(用'NULL'填充空欄位)
SQL> select * from a;
         1 不開機                                                    900
         1 短路                                                        200
         8 10分鐘                                             null

 

8).設定一頁有多少行數 :SET PAGES[IZE] {24|n}
如果設為0,則所有的輸出內容為一頁並且不顯示欄位標題

SQL> set pages 2()         --設定每頁2行
SQL> set newpage 0       --設定頁分隔
SQL> select * from a;
         1 不開機                                                    900
         1 短路                                                        200
         8 10分鐘                                             NULL

 

9).是否顯示用DBMS_OUTPUT.PUT_LINE包進行輸出的資訊。 :SET SERVEROUT[PUT] {ON|OFF}
在編寫預存程序時,我們有時會用dbms_output.put_line將必要的資訊輸出,以便對預存程序進行調試,只有將serveroutput變數設為on後,資訊才能顯示在螢幕上。

SQL> set serveroutput on
SQL> begin
  2  dbms_output.put_line('output sucess');
  3  end;
  4  /
output sucess        ---(顯示輸出,預設不顯示)

PL/SQL 過程已成功完成。

 

10)SQL> SET WRA[P] {ON|OFF}
當輸出的行的長度大於設定的行的長度時(用set linesize n命令設定),當set wrap on時,輸出行的多於的字元會另起一行顯示,否則,會將輸出行的多於字元切除,不予顯示。

SQL> SET LINE 30
SQL> SET WRAP OFF
SQL> select * from a;
行將被截掉

        1 不開機 (這裡如果設定SET WARP ON的話會換行顯示)

 

11). 遇到空行時不認為語句已經結束,從後續行接著讀入。 :SET SQLBLANKLINES ON
Sql*plus中, 不允許sql語句中間有空行, 這在從其它地方拷貝指令碼到sql*plus中執行時很麻煩. 這個命令可以解決該問題

12).是否在螢幕上顯示輸出的內容,主要用與SPOOL結合使用。 : SET TERM[OUT] {ON|OFF}
在用spool命令將一個大表中的內容輸出到一個檔案中時,將內容輸出在螢幕上會耗費大量的時間,設定set termspool off後,則輸出的內容只會儲存在輸出檔案中,不會顯示在螢幕上,極大的提高了spool的速度。

13).將SPOOL輸出中每行後面多餘的空格去掉 : SET TRIMS[OUT] {ON|OFF}

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

SQL> set timing on
SQL> select * from a;
        1 不開機                                                    900

已選擇1行。

經過時間:  00: 00: 00.00

 

15). 輸出的資料為html格式 :set markup html

SQL> set markup html on

SQL> select * from a ;
<br>
<p>
<table border='1' width='90%' align='center' summary='Script output'>
<tr>
<td align="right">
         1
</td>
<td>
不開機
</td>
<td align="right">
       900
</td>
</tr>
</table>
<p>

已選擇2行。<br>
<br>

<顯示的是HTML的資料格式>
經過時間:  00: 00: 00.01

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.