1、 host
键入host命令能够从sql*plus环境切换到操作系统环境,以便执行操作系统命令,按ctrl+d能回到sql*plus状态。
2、 disconnect 和connect
disconnect 命令顾名思义,就是断开当前用户与oracle的连接,然后,你可以键入connect命令,用另外一个用户名进入。
3、 show
用show all命令可以查看sql*plus的68个系统变量值。用show user命令可以查看当前是哪个用户在使用sql*plus
show sga:显示sga大小
show rel[ease]:显示数据库版本信息
show user:显示当前的用户名
4、 describe(desc)
describe或desc命令可以查看对象的结构,这里的“对象”可以是表、视图,存储过程、函数、包等。比如键入desc dual,你就可以发现dual表只有一列。
5、 save filename[.ext] [create|replace|append]
ext:文件后缀,缺省为sql
每当你在sql*plus中执行一条或若干条sql语句,oracle就会把这些刚执行过的语句存放到一个称为“缓冲区”的地方。每一次执行sql语句,该语句就会存入缓冲区而把以前的覆盖。也就是说,缓冲区中存放的是刚才执行过的sql语句。
用save filename 命令可以把当前缓冲区中的内容存入文件中,其中,filename是你所取的文件名。
6、 get filename
该命令将文件中的内容取出来防至缓冲区。
因此,你可用vi或别的编辑器写好你需要执行的语句,然后用get命令将这些语句取至缓冲区执行。
7、 /
斜杠“/”也是一个sql*plus命令,它显示缓冲区中的内容并执行。
8、 run(r)
这两个命令和“/”一样。
9、 @
该命令直接执行缓冲区中的命令,但并不将它显示在屏幕上。
10、l
列出缓冲区中的内容,但并不执行。
11、l n
列出缓冲区中第n行的内容。
12、change(c)
c/string1/string2可以将缓冲区中当前行的string1字符串替换为string2 字符串。
13、a
把文本添加到缓冲区中当前行的末尾。
14、del
删除缓冲区中当前行。
15、i
在当缓冲区中当前行的后面插入一行。
16:set
set timing on|off 打开或关闭显示sql命令执行时间
set autotrace on|off 打开或关闭sql命令监控分析
set echo on|off 在用start命令执行一个sql脚本时,是否显示脚本正在执行的sql语句
set feedback on|off 显示当前sql查询或修改的行数
set autocommit on|off
17:spool 实现将屏幕的一切信息记录到操作系统的文件中直到spool off
spo[ol] [filename[.ext]|off|out]
out:启动该功能
.ext 缺省为lst或lis
下面举一个简单的例子,来讲解一些缓冲区编辑命令的使用方法。
假设你输入下面的这些命令:
sql > select name from tab_student
2> where num at
3> (select num from tab_top_student );
你会发现语句有错,你需要修改它。这些语句已经存至缓冲区,你不必再次输入。
键入l命令,得到如下显示:
sql > select name from tab_student
2> where num at
3*> (select num from tab_top_student );
注意第三行,有一个*号,表示这是当前行,键入l 2,得到如下显示:
2*> where num at
即把第二行变为当前行。
键入 c/at/in,得到如下显示:
2*> where num in
键入l查看一下缓冲区中所有内容:
sql > select name from tab_student
2> where num in
3*> (select num from tab_top_student );
注意,这时第二行已经修改好,第三行为当前行。
好了,键入r运行这些语句即可。
向aaa.sql文件保存缓存区的内容
sql>select * from dept order by deptno