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