在oracle的sqlplus下,编辑上一条命令时,使用“ed”或“edit”命令,来操作。
但有时,会得到以下的结果:
例:
SQL> select count( * ) from dual;
COUNT(*)
----------
1
SQL> ed
Wrote file afiedt.buf
30
我们先键入“q”退出ed命令:
SQL> ed
Wrote file afiedt.buf
30
q
1* select count( * ) from dual
SQL>
出现此原因,说明Oracle的默认编辑器没有设置。由于本人的oracle使用平台是在linux下,所以,使用vi,作为默认编辑器。设置方法如下:
第1种方式:设置操作系统的环境变量“EDITOR”为“vi”。
在使用oracle的用户环境变量配置文件.bash_profile中,在结尾增加以下一行:
export EDITOR=vi
#注意,“=”号两边不能有空格,“EDITOR”要大写。
保存,退出。
使用命令:
. .bash_profile
使命令生效。
或,直接在linux命令行下,执行:
[oracle@wang ~]
$ export EDITOR=vi
使命令生效。
第2种方式:设置oracle变量“DEFINE_EDITOR”为"vi"。
在$ORALCE_HOME/sqlplus/admin/glogin.sql文件的最后,增加以下一行:
DEFINE_EDITOR=vi
保存,退出。
或,直接在SQL命令行下,执行:
SQL> DEFINE_EDITOR=vi
这样,我们再次使用ed命令时,效果为:
SQL> select count( * ) from dual;
COUNT(*)
----------
1
SQL> ed
select count( * ) from dual
/
~
此时,就可以用vi命令,来正常编辑上一条命令了。
保存,退出后,使用命令“/”,来执行编辑好的命令。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2128572/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31397003/viewspace-2128572/