在寫指令碼的時候,往往需要對輸出的格式進行規範,我們常常用set語句在設定一些需要的格式規範。下面,列舉了幾個常用的set ,和他們的應用。
sql> set echo on—————————————————設定執行命令是是否顯示語句
sql> set feedback on———————————————-設定顯示「已選擇xx行」
sql> set colsep | —————————————————設定列與列之間的分割符號
sql> set pagesize 10———————————————–設定每一頁的行數
sql> set serveroutput on——————————-設定允許顯示輸出類似dbms_output.putline
sql> set heading on————————————————設定顯示列名
sql> set time on—————————————————–設定顯示當前時間
sql> set autotrace on———————————————–設定允許對執行的sql進行分析
00:38:28 sql> set echo on
00:38:37 sql> @e:echo.sql
00:38:41 sql> select status from v$datafile where rownum<6;
status
-------
system
online
online
online
online
已選擇5行。
00:38:43 sql> set echo off
00:38:58 sql> @e:echo.sql
status
——-system
online
online
online
online
已選擇5行。
00:39:08 sql>
sql> set feedback on
sql> set colsep |sql> set pagesize 10
sql> set serveroutput onsql> set heading on
sql> set timing on
sql> set time on00:54:11
sql> select file#, status, enabled from v$datafile;
file#|status |enabled———-|——-|———-
1|system |read write
2|online |read write
3|online |read write
4|online |read write
5|online |read write
6|online |read write
7|online |read write
file#|status |enabled———-|——-|———-
9|online |read write
10|online |read write
11|online |read write
12|online |read write11 rows selected.
elapsed: 00:00:01.0700:54:34
sql> declare
00:55:00 2 begin
00:55:00 3 dbms_output.put_line(』===this is dbms_output.put_line!===』);
00:55:00 4 end;
00:55:02 5 /
===this is dbms_output.put_line!===
pl/sql procedure successfully completed.
elapsed: 00:00:00.0200:55:05 sql>
sql> set autotrace on
sql> select e.last_name, d.department_name, d.location_id
2 from hr.employees e
3 join hr.departments d
4 using (department_id);
last_name department_name location_id
————————- —————————— ———–
king executive 1700
kochhar executive 1700
de haan executive 1700
hunold it 1400
ernst it 1400……
106 rows selected.
execution plan
———————————————————-
0 select statement optimizer=choose (cost=5 card=106 bytes=318
0)1 0 hash join (cost=5 card=106 bytes=3180)
2 1 table access (full) of 『departments』 (cost=2 card=27 byt
es=513)
3 1 table access (full) of 『employees』 (cost=2 card=107 byte
s=1177)
statistics
———————————————————-
7 recursive calls
0 db block gets
23 consistent gets
12 physical reads
0 redo size
2801 bytes sent via sql*net to client
580 bytes received via sql*net from client
9 sql*net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
106 rows processed
sql>
sqlplus 常用set指令
set colsep 域輸出分隔符 set echo off 顯示start啟動的指令碼中的每個sql命令,預設為on set feedback off 回顯本次sql命令處理的記錄條數,預設為on set heading off 輸出域標題,預設為on set pagesize 0 輸出每頁行數,...
按set部署的小結
網際網路常常把一定號段的使用者路由到某個一組指定的服務中,而這一組服務就是常說的set,固然乙個set的設計需要考慮許多不同的因素,但乙個n 1的set冗餘部署在某些業務也是乙個較經濟的部署策略。即根據使用者的號段,部署n個set,每個乙個set只服務某個號段的使用者群,一旦這個set出異常,則只影...
SQLPLUS中的feedback設定
使用sqlplus執行sql時,像select語句通常返回結果可以帶有 已返回xx行 這樣的提示,但最近開啟乙個庫發現沒有這樣的提示。經 黃瑋 喬曉陽大師指點,有個feedback的引數設定,現總結如下。feedback可以簡寫為feed,它有三個取值 on off n,on表示開啟sql反饋 dd...