Oracle基础教程:SQLPLUS环境命令

amberoracle 2012-02-21

sqlplus常用命令
 当输入SQL语句时,SQL在SQLPLUS里的缓存中,这个缓存很小,只能允许一个SQL语句,当下一个SQL输入时,上一个SQL就被覆盖了
 为了更有效的输入和编辑SQL语句,SQLPLUS提供了一些常用命令,与SQL语句相比,SQLPLUS里的命令可以缩写.
 
 查看sqlplus里的所有命令
 help index
 查看sqlplus里某个命令的帮助
 help cmd
 
 show all 列出所有当前参数值
 
set line[size]{80|n}
 设置显示宽度 默认是80 n可以自己定义
 set line 100
l列出当前缓冲区内容
n整数.缓冲区中的指定行号
c/OLD/NEW 替换 NEW部分不写则是删除的意思
/ 或 r 运行
a 追加内容 一般和n先提取行后追加
del n 删除第n行的整行

1.输入错误的修正 方法一:
 seker> select ename,sal
   2  from emq
   3  where sal <=1000;
 from emq
      *
 ERROR at line 2:
 ORA-00942: table or view does not exist
 执行后发现输入错误

 seker> l 
   1  select ename,sal
   2  from emq
   3* where sal <=1000
 L列出命令清单 发现第2行emp写成emq

 seker> 2
   2* from emq
 N命令提取指定行

 seker> c/q/p
   2* from emp
 c/OLD/NEW 替换

 seker> l
   1  select ename,sal
   2  from emp
   3* where sal <=1000
 列出当前的缓冲区查看

 seker> /
 
 ENAME    SAL
 ---------- ----------
 SMITH    800
 JAMES    950
 
 seker>
 /执行当前缓冲区的命令


2.输入错误的修正 方法二:
 seker> select ename,sal
   2  from emq
   3  where sal <=1000;
 from emq
      *
 ERROR at line 2:
 ORA-00942: table or view does not exist
 执行后发现输入错误

 seker> l
   1  select ename,sal
   2  from emq
   3* where sal <=1000
 L列出命令清单 发现第2行emp写成emq

 seker> 2 from emp
 n text 命令修改指定行的内容

 seker> r
   1  select ename,sal
   2  from emp
   3* where sal <=1000

 ENAME    SAL
 ---------- ----------
 SMITH    800
 JAMES    950

 seker> 
 r执行当前缓冲区的命令
 
 a 追加操作
 seker> l
   1  select ename,sal
   2  from emp
   3* where sal <=1000
 seker> 1
   1* select ename,sal
 seker> a ,job,deptno
   1* select ename,sal,job,deptno
 seker> l
   1  select ename,sal,job,deptno
   2  from emp
   3* where sal <=1000
 seker> /

 ENAME    SAL JOB     DEPTNO
 ---------- ---------- --------- ----------
 SMITH    800 CLERK  20
 JAMES    950 CLERK  30

 seker>

 del n命令 不可以简写为d
 idle> l
   1  select ename,sal,job,deptno
   2  from emp
   3* where sal <=1000
 idle> d 3
 SP2-0042: unknown command "d 3" - rest of line ignored.
 idle> del 3
 idle> l
   1  select ename,sal,job,deptno
   2* from emp
 idle>

将当前缓冲区的内容另存到文件
 idle> l
   1  select ename,sal,job,deptno
   2* from emp
 idle> save abc.sql
 Created file abc.sql
 idle> host ls
 abc.sql  afiedt.buf  Oracle  sqlnet.log
 
 idle> !cat abc.sql
 select ename,sal,job,deptno
 from emp
 /
 idle>
 

加载文件中的语句到缓冲区
 idle> l
   1* select * from emp
 idle> get abc.sql
   1  select ename,sal,job,deptno
   2* from emp
 idle> l
   1  select ename,sal,job,deptno
   2* from emp
 idle>

相关推荐