在SQL*Plus中进行编辑
你经常需要在正在使用的SQL代码中做一些小修改。其实无需为微小的改动去求助于编辑器,SQL*Plus提供了CHANGE修改命令。SQL*Plus命令行的修改釆用的是简单的模式匹配技术,用一个新模式替换已有的模式,可以増加或修改一个词或者部分词。
修改SQL文本的一般模式为C/OLD/NEW,C是CHANGE命令的简写,此命令修改当前行中第一次出现的指定文本,OLD表示打算修改的SQL文本,而NEW表示要替换旧SQL文本的新SQL文本。
用模式匹配技术修改文本
SELECT username,status,process,sid,serial
FROM v$session
WHERE status = 'ACTIVE';
select username,status,process,sid,serial
♦
ERROR at line 1:
ORA-00904: invalid cOLumn name
SQL> 1
1* SELECT username,status,process,sid,serial
SQL> c/serial/serial#
1* SELECT username,status,process,sid,serial#
SQL> l
1 SELECT username,status,process,sid,serial#
2 FROM v$session
3* WHERE status = 'ACTIVE'
SQL> /
如果有一个复杂的脚本,像代码清单4-14那样用模式匹配技术进行修改可能相当麻烦!这时使用运行时编辑器进行修改可能更方便,修改内容保存后将自动进入SQL*Plus界面,并且可以执行编辑过的SQL。
注解在UNIX中,常用编辑器为vi,在Windows中,常用编辑器为Notepad.可在SQL*Plus命令行上输入ed调用它们.
CLEAR命令删除某些当前值,其中包括列和SQL*Plus缓冲区的设置值。可以使用CLEAR命令确保不需要的设置值在SQL*Plus的当前会话中失效。
SQL> clear breaks
SQL> clear buffer
5QL> clear columns
SQL> clear sql
SQL> clear timing
SQL> clear screen
CLEAR命令只清除屏幕而不影响SQL*Plus的任何设置。
CLEAR BUFFER和CLEAR SQL命令有同样的作用:它们都删除SQL*Plus内存缓冲区中的SQL.
CLEAR COLUMNS和CLEAR BREAKS命令删除列定义和断点.
CLEAR TIMING命令停用所有的计时器
CLEAR SCR(或CLEAR SCREEN)命令可以清除屏幕。




