简体   繁体   中英

SQL Plus command line: Arrow keys not giving previous commands back

I am using Oracle 10g Express Edition on Fedora core 5 32+ bit os. The problem is when I use the SQL Plus command line to make SQL statements I can not get the previously typed command back at the prompt when I use the up and down arrow keys on my keyboard. This is quite easy when I am using a shell, but here with this Oracle command line interface it is not working at all. Here is the example as what actually is happening whe I press the up or down arrow keys.

SQL> drop table mailorders;

Table dropped.

SQL> ^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A

The 'l' command will show the last run command ( source: krenger.ch ):

SQL> l
  1* select owner, count(1) from dba_tables group by owner
SQL>

To get more than that, turn on history ( source: dba-oracle ):

SQL> set history on
SQL> history
  1  select * from dual;
  2  select sysdate from dual;
  3  show history

If you need rerun only the last command typed then the forwardslash "/" would work. Hit / and then the enter key would rerun the last statement.

SQL> select sysdate from dual;

SYSDATE
--------
03-12-17

SQL> /

SYSDATE
--------
03-12-17

SQL> 

SQL*Plus doesn't offer this feature out-of-the-box. You have to setup rlwrap to get that going

We have built a new command line interface that supports everything SQL*Plus offers, but also includes more modern features such as previous command history. It's called SQLcl . The command history remembers your last 100 statements/scripts, even from previous sessions.

in SQL plus command you can get you previous command by:

1- show previous command

SQL> history  
  1  l
  2  show history
  3  select * from dual;

2- run specific command from previous

SQL> history 3 run

D
-
X

3- edit specific command from previous

SQL> history 2 edit

PS: before using history you need to activated by:

SQL> set history on

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM