SQLPlus命令使用指南(一) (轉)

amyz發表於2007-08-17
SQLPlus命令使用指南(一) (轉)[@more@]

熟悉的朋友都知道, PLUS是一個重要的和ORACLE打交道的工具。SQL PLUS本身有很多命令,可以幫助我們做很多事情,包括產生一些規格化的報表、提供人機互動等等。下面,我就簡單地說明一下,供大家參考:

一 幫助命令

  HELP可以幫助我們,查詢SQL PLUS每個命令的用法

舉例:

SQL> help accept

 :namespace prefix = o ns = "urn:schemas--com::office" />

 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]] [H]

 

二  SQLPLUS的人機互動命令

在SQLPLUS裡可以接受的輸入,最常用的命令有:

(1)  ACCEPT

接受整行的資料。

語法:ACC[EPT] variable [NUM[BER]|CHAR|DATE] [FOR[MAT] format]


  [DEF[AULT] default] [PROMPT text|NOPR[OMPT]] [HIDE]


舉例說明:

角本1.sql,查出工資大於輸入金額的僱員。

SET FEEaCK OFF

SET PAUSE OFF

ACCEPT sal NUMBER PROMPT 'Please input salary(weekly): '

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

在指定的文字編輯器裡,編輯緩衝區的內容。上,預設是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

執行過程和包。

 

待續。

 

Enhydraboy

to:enhydraboy@.com.cn">enhydraboy@yahoo.com.cn

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-963506/,如需轉載,請註明出處,否則將追究法律責任。

相關文章