2013-03-25 3 views
0

Есть ли простой способ доступа к предыдущим командам, введенным в Oracle? Например, при использовании терминала Linux можно нажать клавишу «стрелка вверх» и пройти через историю команд. Предлагает ли Oracle аналогичную удобную функцию?Восстановить предыдущую команду в Oracle

Заранее спасибо.

ответ

1

не встроенный, нет.

В DOS SQL * PLUS это происходит для вас (то есть стрелка вверх идет к предыдущей команде).

в linux sql * plus это не так. Сказав это, есть хорошая утилита для linux под названием rlwrap, которая может это сделать для нас. сначала установить эту утилиту, а затем установить псевдоним (прилипать это в .profile, так что вам не нужно запускать его каждый раз, когда вы открываете оболочку):

[email protected]:~$ alias sqlplus='rlwrap sqlplus' 

Теперь, когда вы начинаете SQL * Plus:

[email protected]:~$ sqlplus/as sysdba 

Вы получите функциональность стрелок вверх/вниз, которую вы хотели.

+0

Благодарим за решение. К сожалению, моя учетная запись Oracle находится на корпоративной системе в университете, поэтому я не верю, что смогу установить «rlwrap». Я должен был рассказать об этом в моем вопросе. В любом случае, спасибо за ваше решение. –

0

В клиенте Windows есть две служебные программы командной строки SQL * Plus: один из них - DOS-look (sqlplus.exe) и тот, который выглядит в Windows (sqlplusw.exe). Версия типа DOS имеет функцию «uparrow», плюс вы можете нажать F7 для списка предыдущих команд, но обратите внимание, что она не очень хорошо работает с многолинейными командами.

Версия для Windows не поддерживает uparrow или F7, но вы можете выделить предыдущий запрос и скопировать/вставить. Вы также можете сделать трюк * nix, щелкнув правой кнопкой мыши, все еще удерживая левую кнопку, чтобы выполнить непосредственную копию/вставку. Он хорошо себя ведет с многострочными командами, но я должен признать, что мне действительно очень хотелось бы иметь здесь uparrow :)

+0

sqlplusw давно устарел. насколько я помню, это даже не присутствует в 11g –

+0

Спасибо за головы! Я не понимал. У моего основного клиента Oracle мы использовали сервер Oracle 11g, но с клиентом 9i (или, возможно, даже с 8i), по крайней мере, пару лет. Он отлично работает, за исключением случаев, когда это заставляет меня делать смущающий пост здесь на SO :) –

0

Это не функция «Oracle» как таковая, это функция клиента и/или ОПЕРАЦИОННЫЕ СИСТЕМЫ. Например, если я запускаю SQL * Plus в Windows, стрелка вверх/вниз функционирует так, как вы описываете.

Смежные вопросы