电脑技术学习

SQLPlus命令使用指南(一)

dn001

  
熟悉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

old2: where salary>&sal

new2: where salary>;;;1000



EMPLOYEE_ID LAST_NAME;FIRST_NAME; SALARY

----------------- ------------------- ----------------------------- ----------

;;;;;7499 ALLENKEVIN 1600

7505 DOYLEJEAN; 2850

7506 DENNIS; LYNN; 2750

7507 BAKERLESLIE;;;;;2200

7521 WARD;CYNTHIA;;;;1250

7555 PETERS; DANIEL;;;;;1250

7557 SHAW;KAREN 1250

7560 DUNCAN; SARAH 1250

7564 LANGEGREGORY;;;;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_LINESVIEW

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