SQLPlus命令使用指南(一)
2024-07-21 02:41:11
供稿:網友
熟悉Oracle的朋友都知道,SQL PLUS是一個重要的和ORACLE打交道的工具。SQL PLUS本身有很多命令,可以幫助我們做很多事情,包括產生一些規格化的報表、提供人機交互等等。下面,我就簡單地說明一下,供大家參考:
一 幫助命令
HELP可以幫助我們,查找SQL PLUS每個命令的用法
舉例:
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的人機交互命令
在SQLPLUS里可以接受用戶的輸入,最常用的命令有:
(1) ACCEPT
接受整行的數據。
語法:ACC[EPT] variable [NUM[BER]CHARDATE] [FOR[MAT] format]
[DEF[AULT] default] [PROMPT textNOPR[OMPT]] [HIDE]
舉例說明:
角本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 中運行
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接受一行的輸入,并且把輸入的數據根據指定按照指定的類型存放到變量(如不存在,自動創建一個)中。
② FOMRAT用于制定輸入的數據格式,如數字可以指定’999.99’,字符可以指定長度’A10’
③ 假如類型是CHAR,長度最大240。
(2) PROMPT
輸出提示信息。
語法:PRO[MPT] [text]
舉例:
SQL> PROMPT Hello,world
Hello,world
(3) PAUSE
輸出一行信息,并等待用戶輸入回車。
語法:PAU[SE] [text]
舉例:
SQL> PAUSE Please press [RETURN]
Please press [RETURN]
SQL>
三 編輯命令
通過SQL PLUS發送的最后一次SQL語句都會保存在SQL PLUS的一個數據緩沖區內,而SQLPLUS命令不包括在內可以通過編輯命令進行編輯。
(1) /
重新執行一下sql 語句。
(2) APPEND
在命令緩沖區內,追加字符。
舉例:
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或;
列出緩沖區內的內容,list可以列出某行的內容,而;則是所有的。
舉例:
SQL> ;
1 select * from tab WHERE tabtype='VIEW'
2* ORDER BY tname
SQL> l 2
2* ORDER BY tname
(4) INPUT
增加一行內容
舉例:
SQL> i ORDER BY tname
SQL> l
1 select * from tab WHERE tabtype='VIEW'
2* ORDER BY tname
(5) CHANGE
把當前行的第一個艘索到的內容替換新的內容,
語法: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
注重,當緩沖區有兩行的時候,用C替換的是最后一行里的內容。
(6) Edit
在指定的文本編輯器里,編輯緩沖區的內容。Windows上,缺省是NOTEPAD。
(7) SPOOL
把輸出結果,指定到一個文件中,有點像DOS命令下的>
SPO[OL] [file_name[.ext] OFF OUT]
SQL> spool c:/1.txt
SQL> select * from tab;
SQL> spool off
四 執行命令
(1) @
載入角本,運行。
舉例:
SQL>@C:/1.SQL
(2) EXECUTE
運行PL/SQL過程和程序包。
待續。
Enhydraboy
enhydraboy@yahoo.com.cn