我在Fedora core 5 32+位操作系统上使用Oracle 10g Express Edition。问题是当我使用SQL Plus命令行来创建SQL语句时,当我使用键盘上的向上和向下箭头键时,我无法在提示符处返回先前键入的命令。当我使用shell时,这很容易,但是在这个Oracle命令行界面中,它根本不起作用。以下是按下向上或向下箭头键时实际发生的示例。
SQL> drop table mailorders;
表格掉线了。
SQL> ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A ^ [[A
答案 0 :(得分:5)
如果您只需要重新运行最后输入的命令,那么forwardslash" /"会工作。 点击/然后输入键将重新运行最后一个语句。
SQL> select sysdate from dual;
SYSDATE
--------
03-12-17
SQL> /
SYSDATE
--------
03-12-17
SQL>
答案 1 :(得分:4)
“ l”命令将显示最后运行的命令(source: krenger.ch):
SQL> l
1* select owner, count(1) from dba_tables group by owner
SQL>
要获取更多信息,请打开历史记录(source: dba-oracle):
SQL> set history on
SQL> history
1 select * from dual;
2 select sysdate from dual;
3 show history
答案 2 :(得分:3)
SQL * Plus并不提供开箱即用的功能。您必须设置rlwrap才能实现目标
我们已经构建了一个新的命令行界面,它支持SQL * Plus提供的所有功能,但也包含更多现代功能,例如以前的命令历史记录。它被称为SQLcl。命令历史记录会记住您最近的100个语句/脚本,甚至是之前的会话。
答案 3 :(得分:1)
在SQL plus命令中,您可以通过以下方式获得上一个命令:
1-显示上一个命令
SQL> history
1 l
2 show history
3 select * from dual;
2-从先前版本运行特定命令
SQL> history 3 run
D
-
X
3-从上一个编辑特定命令
SQL> history 2 edit
PS:在使用历史记录之前,您需要通过以下方式激活:
SQL> set history on