SQLPlus命令使用指南
2024-07-21 02:34:44
供稿:網(wǎng)友
熟悉Oracle的朋友都知道,SQL PLUS是一個(gè)重要的和ORACLE打交道的工具。SQL PLUS本身有很多命令,可以幫助我們做很多事情,包括產(chǎn)生一些規(guī)格化的報(bào)表、提供人機(jī)交互等等。下面,我就簡(jiǎn)單地說(shuō)明一下,供大家參考:
一 幫助命令
HELP可以幫助我們,查找SQL PLUS每個(gè)命令的用法
舉例:
SQL> help accept
ACCEPT
------
Reads a line of input and stores it in a given user variable.
ACC[EPT] variable [NUM[BER] CHAR DATE] [FOR[MAT] format]
[DEF[AULT] default] [PROMPT text NOPR[OMPT]] [HIDE]
二 SQLPLUS的人機(jī)交互命令
在SQLPLUS里可以接受用戶(hù)的輸入,最常用的命令有:
(1) ACCEPT
接受整行的數(shù)據(jù)。
語(yǔ)法:ACC[EPT] variable [NUM[BER]CHARDATE] [FOR[MAT] format]
[DEF[AULT] default] [PROMPT textNOPR[OMPT]] [HIDE]
舉例說(shuō)明:
角本1.sql,查出工資大于輸入金額的雇員。
SET FEEDBACK OFF
SET PAUSE OFF
ACCEPT sal NUMBER PROMPT 'Please input salary(weekly): '
select employee_id,last_name,first_name,salary from employee
where salary>&sal;
在SQLPLUS 中運(yùn)行
SQL> @c:/1.sql
Please input salary(weekly): 1000
old 2: where salary>&sal
new 2: where salary> 1000
EMPLOYEE_ID LAST_NAME FIRST_NAME SALARY
----------------- ------------------- ----------------------------- ----------
7499 ALLEN KEVIN 1600
7505 DOYLE JEAN 2850
7506 DENNIS LYNN 2750
7507 BAKER LESLIE 2200
7521 WARD CYNTHIA 1250
7555 PETERS DANIEL 1250
7557 SHAW KAREN 1250
7560 DUNCAN SARAH 1250
7564 LANGE GREGORY 1250
7566 JONES TERRY 2975
7569 ALBERTS CHRIS 3000
注:
① ACCEPT接受一行的輸入,并且把輸入的數(shù)據(jù)根據(jù)指定按照指定的類(lèi)型存放到變量(如不存在,自動(dòng)創(chuàng)建一個(gè))中。
② FOMRAT用于制定輸入的數(shù)據(jù)格式,如數(shù)字可以指定’999.99’,字符可以指定長(zhǎng)度’A10’
③ 假如類(lèi)型是CHAR,長(zhǎng)度最大240。
(2) PROMPT
輸出提示信息。
語(yǔ)法:PRO[MPT] [text]
舉例:
SQL> PROMPT Hello,world
Hello,world
(3) PAUSE
輸出一行信息,并等待用戶(hù)輸入回車(chē)。
語(yǔ)法:PAU[SE] [text]
舉例:
SQL> PAUSE Please press [RETURN]
Please press [RETURN]
SQL>
三 編輯命令
通過(guò)SQL PLUS發(fā)送的最后一次SQL語(yǔ)句都會(huì)保存在SQL PLUS的一個(gè)數(shù)據(jù)緩沖區(qū)內(nèi),而SQLPLUS命令不包括在內(nèi)可以通過(guò)編輯命令進(jìn)行編輯。
(1) /
重新執(zhí)行一下sql 語(yǔ)句。
(2) APPEND
在命令緩沖區(qū)內(nèi),追加字符。
舉例:
SQL> select * from tab;
….
SQL> A WHERE taBType='VIEW'
1* select * from tabwhere tabtype='VIEW'
SQL> /
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
PLSQL_PROFILER_GRAND_TOTAL VIEW
PLSQL_PROFILER_LINES_CROSS_RUN VIEW
PLSQL_PROFILER_NOTEXEC_LINES VIEW
PLSQL_PROFILER_UNITS_CROSS_RUN VIEW
SALES VIEW
(3) LIST或;
列出緩沖區(qū)內(nèi)的內(nèi)容,list可以列出某行的內(nèi)容,而;則是所有的。
舉例:
SQL> ;
1 select * from tab WHERE tabtype='VIEW'
2* ORDER BY tname
SQL> l 2
2* ORDER BY tname
(4) INPUT
增加一行內(nèi)容
舉例:
SQL> i ORDER BY tname
SQL> l
1 select * from tab WHERE tabtype='VIEW'
2* ORDER BY tname
(5) CHANGE
把當(dāng)前行的第一個(gè)艘索到的內(nèi)容替換新的內(nèi)容,
語(yǔ)法:C[HANGE] sepchar old [sepchar [new[sepchar]]]
舉例:
SQL> l
1* select * from employee where salary>1000 and salary<2000
SQL> c/salary/sal
1* select * from employee where sal>1000 and salary<2000
注重,當(dāng)緩沖區(qū)有兩行的時(shí)候,用C替換的是最后一行里的內(nèi)容。
(6) Edit
在指定的文本編輯器里,編輯緩沖區(qū)的內(nèi)容。Windows上,缺省是NOTEPAD。
(7) SPOOL
把輸出結(jié)果,指定到一個(gè)文件中,有點(diǎn)像DOS命令下的>
SPO[OL] [file_name[.ext] OFF OUT]
SQL> spool c:/1.txt
SQL> select * from tab;
SQL> spool off
四 執(zhí)行命令
(1) @
載入角本,運(yùn)行。
舉例:
SQL>@C:/1.SQL
(2) EXECUTE
運(yùn)行PL/SQL過(guò)程和程序包。