备忘录,也是自己读书和实验的一些心得. 本空间内容除特别注明外,均为原创

sqlplus 工具的使用

上一篇 / 下一篇  2008-03-11 21:50:21 / 个人分类:ORALCE管理及维护

sqlplus 是大家非常常用的一个工具。虽然不大,但是功能非常的强大。我维护数据库的很多操作都是使用这个小工具来完成的。
大家在写sql语句的时候有时会有输入错误的情况出现。这个时候使用sqlplus 工具对缓冲区的编辑功能可以很容易地进行修改。这个功能对linux环境下的sqlplus 尤其有用。
在登入sqlplus后,sqlplus的缓冲区中总是存在最后执行的dml或者ddl语句。这个dml可以是一个语句,也可以是一个pl/sql块。可以输入list来看到这个dml命令。
SQL> select * from t;

no rows selected

SQL> list
  1* select * from t
SQL>
注意缓冲区内只能有一个执行块或者语句。如果有新的语句加入。那么buffer就会被刷新。如下命令可以对缓冲区中的语句进行编辑。注意只能修改缓冲区当前行。所谓当前行默认为最后一行。可以使用list -n来改变当前行。
a  (append)      a aa              在当前行加入aa,
c  (change)    c/old/new       将当前行中的old字符串改成new字符串
del(delete)      del -n             删除第n行
i     (iput)        i                        在当前行后加入新行,回车后又加入一行。回车并/表示结束
如下是一个例子
SQL> list
  1  declare
  2  begin
  3* end;
SQL> list 2
  2* begin
SQL> a :
  2* begin:
SQL> run
  1  declare
  2  begin:
  3* end;
SP2-0552: Bind variable "END" not declared.
SQL> list 2
  2* begin:
SQL> i
  3i dbms_output.put_line('aa');
  4i /
SP2-0552: Bind variable "DBMS_OUTPUT" not declared.
SQL> list
  1  declare
  2  begin:
  3  dbms_output.put_line('aa');
  4* end;
SQL> list 3
  3* dbms_output.put_line('aa');
SQL> c/dbms/execute ;
  3* execute _output.put_line('aa');
SQL> run
  1  declare
  2  begin:
  3  execute _output.put_line('aa');
  4* end;
SP2-0552: Bind variable "EXECUTE" not declared.
SQL> c/e /e dbms;
SP2-0023: String not found.
SQL> list
  1  declare
  2  begin:
  3  execute _output.put_line('aa');
  4* end;
SQL> c/e _/e dbms_/
SP2-0023: String not found.
SQL> c/_output/dbms_output;
SP2-0023: String not found.
SQL> list
  1  declare
  2  begin:
  3  execute _output.put_line('aa');
  4* end;
SQL> list 3
  3* execute _output.put_line('aa');
SQL> c/_output/dbms_output;
  3* execute dbms_output.put_line('aa');
SQL> list
  1  declare
  2  begin:
  3  execute dbms_output.put_line('aa');
  4* end;
SQL> run
  1  declare
  2  begin:
  3  execute dbms_output.put_line('aa');
  4* end;
SP2-0552: Bind variable "EXECUTE" not declared.
SQL> list 3
  3* execute dbms_output.put_line('aa');
SQL> c /execute
  3*  dbms_output.put_line('aa');
SQL> list 2
  2* begin:
SQL> c/:
  2* begin
SQL> list
  1  declare
  2  begin
  3   dbms_output.put_line('aa');
  4* end;
这个是我最常用到的几个命令。





TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 1653
  • 日志数: 38
  • 建立时间: 2008-02-23
  • 更新时间: 2008-09-26

RSS订阅

Open Toolbar