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