Sql*plus 中使用綁定變量:
sql> variable x number;
sql> exec :x := 7788;
sql> SELECT empno,ename from scott.emp where empno=:x;
SQL*PLUS 是Oracle提供的一個(gè)工具程序,它不僅可以用于測(cè)試,運(yùn)行SQL語句和PL/SQL塊,而且還可以用于管理Oracle數(shù)據(jù)庫,
1.啟動(dòng)sql*plus
為了使用sql*plus,必須首先要啟動(dòng)sql*plus。Oracle不僅提供了命令行和圖形界面的sql*plus,而且還可以在web瀏覽器中
運(yùn)行.
(1)在命令運(yùn)行sql*plus
在命令行運(yùn)行sql*plus是使用sqlplus命令來完成的,該命令適用于任何操作系統(tǒng)平臺(tái),
語法如下:
sqlplus [username]/[password][@server]
如上所示:username用于指定數(shù)據(jù)庫用戶名,password用于指定用戶口令,server則用于指定主機(jī)字符串(網(wǎng)絡(luò)服務(wù)名).
當(dāng)連接到本地?cái)?shù)據(jù)時(shí),不需要提供網(wǎng)絡(luò)服務(wù)名,如果要連接到遠(yuǎn)程數(shù)據(jù)庫,則必須要使用網(wǎng)絡(luò)服務(wù)名.
(2)在windows環(huán)境中運(yùn)行sql*plus
如果在windows環(huán)境中安裝了oralce數(shù)據(jù)庫產(chǎn)品,那么可以在窗口環(huán)境中運(yùn)行sql*plus
具體方法: "開始->程序->oracle-oradb10g_home1->application development->sql*plus"
2.連接命令
(1)conn[ect]
該命令用于連接到數(shù)據(jù)庫。注意,使用該命令建立新會(huì)話時(shí),會(huì)自動(dòng)斷開先前會(huì)話,示例如下:
sql>conn scott/yhai1981@demo
(2)disc[onnect]
該命令用于斷開已經(jīng)存在的數(shù)據(jù)庫連接。注:該命令只是斷開連接會(huì)話,而不會(huì)退出sql*plus,示例如下:
sql>disc
(3)passw[ord]
該命令用于修改用戶的口令。注,任何用戶都可以使用該命令修改其自身口令,但如果要修改其他用戶的口令時(shí),
則必須以DBA身份(sys和system)登錄,在sql*plus中,當(dāng)修改用戶口令時(shí),可以使用該命令取代sql命令alter user,
示例如下:
sql>passw
更改scott的口令
舊口令:******
新口令:******
重新鍵入新口令:******
口令已更改
sql>
(4)exit
該命令用于退出 sql*plus,另外你也可以使用quit命令退出sql*plus.使用該命令不僅會(huì)斷開連接,而且也會(huì)退出sql*plus
注:默認(rèn)情況下,當(dāng)執(zhí)行該命令時(shí)會(huì)自動(dòng)提交事務(wù)。
3,編輯命令
(1)l[ist]
該命令用于列出sql緩沖區(qū)的內(nèi)容,使用該命令可以列出sql緩沖某行,某幾行或所有行的內(nèi)容。在顯示結(jié)果中,數(shù)據(jù)字為具體
的行號(hào),而"*"則表示當(dāng)前行。
示例一:列出sql緩沖區(qū)所有內(nèi)容
sql>l
示例二:列出sql緩沖區(qū)首行內(nèi)容:
sql>l1
(2)a[ppend]
該命令用于在sql緩沖區(qū)的當(dāng)前行尾部添加內(nèi)容。注:該命令將內(nèi)容追加到標(biāo)記為"*"的行的尾部,示例如下:
sql>l
1 select empno,ename,sal,hiredate,comm,deptno
2 from emp
3* where deptno=10
sql>a and job='CLERK'
sql>l
SQL> list
1 select empno,ename,sal,hiredate,comm,deptno
2 from emp
3* where deptno=10 and job='CLERK'
(3)c[hange]
該命令用于修改sql緩沖區(qū)的內(nèi)容。如果在編寫sql語句時(shí)寫錯(cuò)了某個(gè)詞,那么使用該命令可以進(jìn)行修改,
sql>select ename from temp where deptno=10;
SQL> c /temp/emp
1* select ename from emp where deptno=10
(4)del
該命令用于刪除sql緩沖區(qū)中內(nèi)容,使用它可以刪除某行,某幾行或所有行,在默認(rèn)情況下,當(dāng)直接執(zhí)行
del時(shí),只刪除當(dāng)前行的內(nèi)容,示例如下:
SQL> l
1 select ename
2 from emp
3* where deptno=20
sql>del
SQL> l
1 select ename
2* from emp
如果一次要?jiǎng)h除多行,則指定起始行號(hào)和終止行號(hào),例如"del 3 5"
(5)i[nput]
該命令用于在sql緩沖區(qū)的當(dāng)前行后新增加一行。示例如下:
SQL> l
1 select ename
2* from emp
sql>i where deptno=30
如果要在首行前增加內(nèi)容,則使用"0文本"
sql>0 create table temp as
SQL> l
1 create table temp as
2 select ename
3 from emp
4* where deptno=30
(6) n
該數(shù)值用于定位sql緩沖區(qū)的當(dāng)前行,示例如下:
(7)edi[t]
該命令用于編輯sql緩沖區(qū)的內(nèi)容。當(dāng)運(yùn)行該命令時(shí),在windows平臺(tái)中會(huì)自動(dòng)啟動(dòng)"記事本",以編輯sql緩沖區(qū)
(8)run和/
run的/命令都可以用于運(yùn)行sql緩沖區(qū)中的sql語句。注:當(dāng)使用run命令時(shí),還會(huì)列出sql緩沖區(qū)內(nèi)容,eg:
SQL> run
1* select ename from emp where deptno=20
4.文件操縱命令
(1)save
該命令用于將當(dāng)前sql緩沖區(qū)的內(nèi)容保存到sql腳本中。當(dāng)執(zhí)行該命令時(shí),默認(rèn)選項(xiàng)為create,即建立新文件。
eg:
SQL> save c:\a.sql create
已創(chuàng)建 file c:\a.sql
當(dāng)執(zhí)行命令之后,就會(huì)建立新腳本文件a.sql,并將sql緩沖區(qū)內(nèi)容存放到該文件中。如果sql已經(jīng)存在,使用
replace選項(xiàng)可以替撚已存在的sql腳本,如果要給已存在的sql腳本追加內(nèi)容,可以使用append選項(xiàng)。
(2)get
該命令與save命令作用恰好相反,用于將sql腳本中的所有內(nèi)容裝載到sql緩沖區(qū)中。
eg:
SQL> get c:\a.sql
1* select ename from emp where deptno=20
(3)start和@
start和@命令用于運(yùn)行sql腳本文件。注:當(dāng)運(yùn)行sql腳本文件時(shí),應(yīng)該指定文件路徑.eg:
SQL> @c:\a.sql
ENAME
----------
SMITH
JONES
SCOTT
ADAMS
FORD
(4)@@
該命令與@命令類似,也可以運(yùn)行腳本文件,但主要作用是在腳本文件中嵌套調(diào)用其它的腳本文件。當(dāng)使用該命令
嵌套腳本文件時(shí),可在調(diào)用文件所在目錄下查找相應(yīng)文件名。
(5)ed[it]
該命令不僅可用于編輯sql緩沖區(qū)內(nèi)容,也可以用于編輯sql腳本文件。當(dāng)運(yùn)行該命令時(shí),會(huì)啟動(dòng)默認(rèn)的系統(tǒng)編輯
器來編輯sql腳本。運(yùn)行方法為:
sql>edit c:/a.sql
(6)spool
該命令用于將sql*plus屏幕內(nèi)容存放到文本文件中。執(zhí)行該命令時(shí),應(yīng)首先建立假脫機(jī)文件,并將隨后sql*plus
屏幕的所有內(nèi)容全部存放到該文件中,最后使用spool off命令關(guān)閉假脫機(jī)文件。eg:
sql>spool c:\a.sql
5.格式命令
sql*plus不僅可以用于執(zhí)行sql語句、pl/sql塊,而且還可以根據(jù)select結(jié)果生成報(bào)表。使用sql*plus的格式命令
可以控制報(bào)表的顯示格式,例如使用column命令可以控制列的顯示格式,使用ttitle命令可以指定頁標(biāo)題;使用
btitle命令可以指定頁腳注。
(1)col[umn]
該命令用于控制列的顯示格式。column命令包含有四個(gè)選項(xiàng),其中clear選項(xiàng)用于清除已定義列的顯示格式:
heading選項(xiàng)用于指定列的顯示標(biāo)題;justify選項(xiàng)用于指定列標(biāo)題的對(duì)齊格式(left,center,right);format選項(xiàng)用于
指定列的顯示格式,其中格式模型包含以下一些元素。
An:設(shè)置char,varchar2類型列的顯示寬度;
9: 在number類型列上禁止顯示前導(dǎo)0;
0: 在number類型列上強(qiáng)制顯示前導(dǎo)0;
$: 在number類型列前顯示美元符號(hào);
L: 在number類型列前顯示本地貨幣符號(hào);
.: 指定number類型列的小數(shù)點(diǎn)位置;
,: 指定number類型列的千分隔符;
eg1:使用column設(shè)置列顯示格式
sql>col ename heading 'name' format a10
sql>col sal heading 'sal' format L99999.99
sql>select ename,sal,hiredate from emp
sql>where empno=7788;
name sal HIREDATE
---------- ------------------- -------------------
SCOTT ¥3000.00 04/19/1987 00:00:00
sql>col ename clear
sql>col sal clear
sql>select ename,sal,hiredate from emp
sql>where empno=7788;
(2)title
該命令用于指定頁標(biāo)題,頁標(biāo)題會(huì)自動(dòng)顯示在頁的中央。如果頁標(biāo)題由多個(gè)詞組成,則用單引號(hào)引住。如果要將頁
標(biāo)題分布在多行顯示,則用"|"分開不同單詞。如果不希望顯示頁標(biāo)題,則使用"ttitle off"命令,禁止顯示,eg:
SQL> set linesize 40
SQL> ttitle 'employee report'
SQL> select ename,sal,hiredate from emp where empno=7788;
星期二 5月 20 第 1
employee report
ENAME SAL
---------- ----------
HIREDATE
-------------------
SCOTT 3000
04/19/1987 00:00:00
(3)btitle
該命令用于指定頁腳注,頁腳注會(huì)自動(dòng)顯示在頁的中央。如果頁腳注由多個(gè)詞組成,則用單引號(hào)引注。如果要將頁腳注
分布在多行顯示,則用"|"分開不同單詞。如果不希望顯示頁腳注,則使用"btitle off"命令,禁止顯示。eg:
SQL> btitle 'page end'
SQL> select ename,sal,hiredate from emp where empno=7788
ENAME SAL
---------- ----------
HIREDATE
-------------------
SCOTT 3000
04/19/1987 00:00:00
page end
(4)break
該命令用于禁止顯示重復(fù)行,并將顯示結(jié)果分隔為幾個(gè)部分,以表現(xiàn)更友好的顯示結(jié)果,通常應(yīng)該在order by 的排序列上
使用該命令。eg:
SQL> set pagesize 40
SQL> break on deptno skip 1
SQL> select deptno,ename,sal from emp order by deptno
2 ;
DEPTNO ENAME SAL
---------- ---------- ----------
10 CLARK 2450
KING 5000
MILLER 1300
20 JONES 2975
FORD 3000
ADAMS 1100
SMITH 800
SCOTT 3000
30 WARD 1250
TURNER 1500
ALLEN 1600
JAMES 950
BLAKE 2850
MARTIN 1250
6.交互式命令
如果經(jīng)常要執(zhí)行某些sql語句和sql*plus命令,可以將這些語句和命令存放到sql腳本中。通過使用sql腳本,
一方面可以降低命令輸入量,另一方面可以避免用戶的輸入錯(cuò)誤。為了使得sql腳本可以根據(jù)不同輸入獲得
不同結(jié)果,需要在sql腳本中包含交互式命令。通過使用交互式命令,可以在sql*plus中定義變量,并且在運(yùn)行
sql腳本時(shí)可以為這些變量動(dòng)態(tài)輸入數(shù)據(jù)。下面介紹sql*plus的交互命令,以及引用變量所使用的標(biāo)號(hào)。
(1)&
引用替代變量(substitution variable)時(shí),必須要帶有該標(biāo)號(hào)。如果替代變量已經(jīng)定義,則會(huì)直接使用其數(shù)據(jù),
如果替代變量沒有定義,則會(huì)臨時(shí)定義替代變量(該替代變量只在當(dāng)前語句中起作用),并需要為其輸入數(shù)據(jù)。
注:如果替代變量為數(shù)字列則提供數(shù)據(jù),則可以直接引用;如果替代變量為字符類型列或日期類型列提供數(shù)據(jù),
則必須要用單引號(hào)引注。eg:
SQL> select ename,sal from emp where deptno=&no and job='&job';
輸入 no 的值: 20
輸入 job 的值: CLERK
原值 1: select ename,sal from emp where deptno=&no and job='&job'
新值 1: select ename,sal from emp where deptno=20 and job='CLERK'
(2)&&
該標(biāo)號(hào)類似于單個(gè)&標(biāo)號(hào)。但需要注意,&標(biāo)號(hào)所定義的替代變量只在當(dāng)前語句中起作用;而&&標(biāo)號(hào)所定義的變量
會(huì)在當(dāng)前sql*plus環(huán)境中一直生效。eg:
SQL> select ename,sal from emp where deptno=&&no and job='&&job' --定義了no變量
輸入 no 的值: 20
輸入 job 的值: CLERK
原值 1: select ename,sal from emp where deptno=&&no and job='&&job'
新值 1: select ename,sal from emp where deptno=20 and job='CLERK'
SQL> select ename,sal from emp where deptno=&no;
原值 1: select ename,sal from emp where deptno=&no --直接引用no變量
新值 1: select ename,sal from emp where deptno=20
ENAME SAL
---------- ----------
SMITH 800
JONES 2975
SCOTT 3000
ADAMS 1100
FORD 3000
如例所示,當(dāng)?shù)谝淮我胣o變量時(shí),使用&&標(biāo)號(hào)需要為其輸入數(shù)據(jù);當(dāng)?shù)诙我胣o變量時(shí),
使用&標(biāo)號(hào)直接引用其原有值,而不需要輸入數(shù)據(jù)。
(3)define
該命令用于定義類型為char的替代變量,而且該命令的定義的替代變量只在當(dāng)前sql*plus環(huán)境中起作用。
當(dāng)使用該命令定義變量時(shí),如果變量值包含空格或區(qū)分大小寫,則用引號(hào)引注。另外,使用"define變量名"可以檢查變量
是否已經(jīng)定義。eg:
sql>set verify off
sql>define title=CLERK
sql>select ename,sal from where job='&title';
(4)accept
該命令可以用于定義char,number和date類型的替代變量。與define命令相比,accept命令更加靈活。當(dāng)使用該命令定義替代
變量時(shí),還可以指定變量輸入提示、變量輸入格式、隱藏輸入內(nèi)容。
eg1:指定變量輸入提示
SQL> accept title prompt '請(qǐng)輸入崗位:'
請(qǐng)輸入崗位:CLERK
SQL> select ename,sal from emp where job='&title';
原值 1: select ename,sal from emp where job='&title'
新值 1: select ename,sal from emp where job='CLERK'
ENAME SAL
---------- ----------
SMITH 800
ADAMS 1100
JAMES 950
MILLER 1300
eg2:隱藏用戶輸入
sql>accept pwd hide
(5)undefine
該命令用于清除替代變量的定義。eg:
sql>undefine pwd
SQL> disc
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
SQL> conn scott/&pwd
輸入 pwd 的值: yhai1981
已連接
(6)prompt的pause
prompt命令用于輸出提示信息,而pause命令則用于暫停腳本執(zhí)行。在sql腳本中結(jié)合使用這兩條命令,可以控制sql腳本
的暫停的執(zhí)行。假定在a.sql腳本中包含以下命令:
prompt '按<Return>鍵繼續(xù)'
pause
當(dāng)運(yùn)行該sql腳本時(shí),會(huì)暫停執(zhí)行,eg:
sql>@c:\a.sql
'按<Return>鍵繼續(xù)'
(7)variable
該命令用于在sql*plus中定義綁定變量。當(dāng)在sql語句或pl/sql塊中引用綁定變量時(shí),必須要在綁定變量前加冒號(hào)(:);
當(dāng)直接給綁定變量賦值時(shí),需要使用execute命令(類似于調(diào)用存儲(chǔ)過程).示例如下:
sql>var no number
sql>exec :no:=7788
sql>select ename from emp where empno=:no;
ename
------------------
scott
(8)print
該命令用于輸出綁定變量結(jié)果,eg:
SQL> print no
NO
----------
7788
7.顯示和設(shè)置環(huán)境變量
使用sql*plus的環(huán)境變量可以控制其運(yùn)行環(huán)境,例如設(shè)置行顯示寬度,設(shè)置每頁顯示的行數(shù)、
設(shè)置自動(dòng)提交標(biāo)記、設(shè)置自動(dòng)跟蹤等等。使用show命令可以顯示當(dāng)前sql*plus的環(huán)境變量設(shè)置
:使用set命令可以修改當(dāng)前sql*plus的環(huán)境變量設(shè)置。下面介紹常用的sql*plus環(huán)境變量。
(1)顯示所有環(huán)境變量
為了顯示sql*plus的所有環(huán)境變量,必須要使用show all命令。示例如下:
SQL> show all
appinfo 為 OFF 并且已設(shè)置為 "SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF 為下一條 SELECT 語句的前幾個(gè)字符
cmdsep OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK 為 ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
echo OFF
editfile "afiedt.buf"
embedded OFF
escape OFF
用于 6 或更多行的 FEEDBACK ON
flagger OFF
flush ON
heading ON
headsep "|" (hex 7c)
instance "local"
linesize 80
lno 4
loboffset 1
logsource ""
long 80
longchunksize 80
markup HTML OFF HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL OFF ENTMAP ON PREFORMAT OFF
newpage 1
null ""
numformat ""
numwidth 10
pagesize 14
PAUSE 為 OFF
pno 1
recsep WRAP
recsepchar " " (hex 20)
release 1002000100
repfooter OFF 為 NULL
repheader OFF 為 NULL
serveroutput OFF
shiftinout INVISIBLE
showmode OFF
spool ON
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue "> "
sqlnumber ON
sqlpluscompatibility 10.2.0
sqlprefix "#" (hex 23)
sqlprompt "SQL> "
sqlterminator ";" (hex 3b)
suffix "sql"
tab ON
termout ON
timing OFF
trimout ON
trimspool OFF
ttitle OFF 為下一條 SELECT 語句的前幾個(gè)字符
underline "-" (hex 2d)
USER 為 "SCOTT"
verify ON
wrap : 將換至下一行
SQL> spool off
(2)arraysize
該環(huán)境變量用于指定數(shù)組提取尺寸,其默認(rèn)值為15.該值越大,網(wǎng)絡(luò)開銷將會(huì)越低,但占用內(nèi)存會(huì)增加。假定使用默認(rèn)值,
如果查詢返回行數(shù)為50行,則需要通過網(wǎng)絡(luò)傳送4將數(shù)據(jù);如果設(shè)置為25,則網(wǎng)絡(luò)傳送次數(shù)只有兩次。eg:
SQL> show arraysize
arraysize 15
SQL> set arraysize 25
(3)autocommit
該環(huán)境變量用于設(shè)置是否自動(dòng)提交dml語句,其默認(rèn)值為off(表示禁止自動(dòng)提交)。當(dāng)設(shè)置為ON時(shí),每次執(zhí)行DML
語句都會(huì)自動(dòng)提交。eg:
SQL> show autocommit
autocommit OFF
SQL> set autocommit on
SQL> show autocommit
autocommit IMMEDIATE
(4)colsep
該環(huán)境變量用于設(shè)置列之間的分隔符,默認(rèn)分隔符為空格。如果要使用其它分隔符,則使用set命令進(jìn)行設(shè)置。eg:
sql>set colsep |
SQL> select ename,sal from emp where empno=7788
ENAME | SAL
----------|----------
SCOTT | 3000
(5)feedback
該環(huán)境變量用于指定顯示反饋行數(shù)信息的最低行數(shù),其默認(rèn)值為6。如果要禁止顯示行數(shù)反饋信息,則將feedback
設(shè)置為off。假設(shè)只要有查詢結(jié)果就返回行數(shù),那么可以將該環(huán)境變量設(shè)置為1.eg:
sql>set feedback 1
sql>select ename,sal from emp where empno=7788;
ENAME | SAL
----------|----------
SCOTT | 3000
已選擇 1 行。
(6)heading
該環(huán)境變量用于設(shè)置是否顯示標(biāo)題,其默認(rèn)值為on。如果不顯示列標(biāo)題,則設(shè)置為off。eg:
sql>set heading off
sql>select ename,sal from emp where empno=7788
SCOTT | 3000
(7)linesize
該環(huán)境變量用于設(shè)置行寬度,默認(rèn)值為80。在默認(rèn)情況下,如果數(shù)據(jù)長度超過80個(gè)字符,那么在sql*plus中會(huì)折
行顯示數(shù)據(jù)結(jié)果。要在一行中顯示全部數(shù)據(jù),應(yīng)該設(shè)置更大的值。eg:
(8)pagesize
該環(huán)境變量用于設(shè)置每頁所顯示的行數(shù),默認(rèn)值為14
set pagesize 0; //輸出每頁行數(shù),缺省為24,為了避免分頁,可設(shè)定為0。
(9)long
該環(huán)境變量用于設(shè)置long和lob類型列的顯示長度。默認(rèn)值為80,也就是說當(dāng)查詢long或lob列時(shí),只會(huì)顯示該列的前80個(gè)字符,
應(yīng)該設(shè)置更大的值。eg:
sql>show long
long 80
sql>set long 300
(10)serveroutput
該環(huán)境變量用于控制服務(wù)器輸出,其默認(rèn)值為off,表示禁止服務(wù)器輸出。在默認(rèn)情況下,當(dāng)調(diào)用dbms_output包時(shí),
不會(huì)在sql*plus屏幕上顯示輸出結(jié)果。在調(diào)用dbms_output包時(shí),為了在屏幕上輸出結(jié)果,必須要將serveroutput設(shè)置
為on。eg:
sql>set serveroutput on
sql>exec dbms_output.put_line('hello')
(11)termout
該環(huán)境變量用于控制sql腳本的輸出,其默認(rèn)值為ON。當(dāng)使用默認(rèn)值時(shí),如果sql腳本有輸出結(jié)果,則會(huì)在屏幕上輸出
顯示結(jié)果,如果設(shè)置為OFF,則不會(huì)在屏幕上輸出sql腳本。eg:
SQL> set termout off
SQL> @c:\a
(12)time
該環(huán)境變量用于設(shè)置在sql提示符前是否顯示系統(tǒng)時(shí)間,默認(rèn)值為off,表示禁止顯示系統(tǒng)時(shí)間。如果設(shè)置為on,
則在sql提示符前會(huì)顯示系統(tǒng)時(shí)間.eg:
SQL> set time on
12:09:59 SQL>
(13)timing
該環(huán)境變量用于設(shè)置是否要顯示sql語句執(zhí)行時(shí)間,默認(rèn)值為off,表示不會(huì)顯示sql語句執(zhí)行時(shí)間。如果設(shè)置為
ON,則會(huì)顯示sql語句執(zhí)行時(shí)間。eg:
sql>set timing on
SQL> select count(*) from emp;
COUNT(*)
----------
14
已選擇 1 行。
已用時(shí)間: 00: 00: 00.03
(14)trimspool
set trimout on; //去除標(biāo)準(zhǔn)輸出每行的拖尾空格,缺省為off
set trimspool on; //去除重定向(spool)輸出每行的拖尾空格,缺省為off
如果trimspool設(shè)置為on,將移除spool文件中的尾部空格 ,trimout同trimspool功能相似,只不過對(duì)象是控制臺(tái)。
If trimspool is set to on, it will remove trailing blanks in spooled files.
See also trimout which does the same thing to the output to the console (terminal).
eg:
set trimspool off
spool c:\temp\trimspool.txt
declare
v_name varchar2(30);
begin
SELECT table_name into v_name
FROM all_tables
WHERE rownum =1;
dbms_output.put_line(v_name);
end;
/
set trimspool on
declare
v_name varchar2(30);
begin
SELECT table_name into v_name
FROM all_tables
WHERE rownum =1;
dbms_output.put_line(v_name);
end;
/
spool off
-- from ITPUB
聯(lián)系客服