是否有一种简单的方法可以访问以前在 Oracle 中输入的命令?例如,在使用 Linux 终端时,可以按“向上箭头”键并遍历命令历史记录。Oracle 是否提供类似的便利功能?
提前致谢。
不是内置的,没有。
在 DOS SQL*PLUS 中,您会遇到这种情况(即向上箭头转到前面的命令)。
在 linux sql*plus 中它没有。话虽如此,linux上有一个很好的实用程序rlwrap
可以为我们做这件事。首先安装该实用程序,然后设置一个别名(将其粘贴在您的 .profile 中,这样您就不必每次打开 shell 时都运行它):
oracle@dazza-linux64:~$ alias sqlplus='rlwrap sqlplus'
现在每当你启动 sql*plus 时:
oracle@dazza-linux64:~$ sqlplus / as sysdba
你会得到你想要的向上/向下箭头功能。
它本身不是“Oracle”的功能,而是客户端和/或操作系统的功能。例如,如果我在 Windows 上运行 SQL*Plus,向上/向下箭头的功能与您描述的一样。
在 Windows 客户端中,有两个 SQL*Plus 命令行实用程序:一个是 DOS 外观 ( sqlplus.exe
),一个是 Windows 外观 ( sqlplusw.exe
)。DOS 类型的版本具有“向上箭头”功能,此外,您可以按 F7 键查看以前的命令列表,但请注意,它不能很好地处理多行命令。
Windows 类型的版本不支持 uparrow 或 F7,但您可以突出显示先前的查询,然后复制/粘贴。您还可以在按住左键的同时执行 *nix 右键单击技巧以立即进行复制/粘贴。它在多行命令中表现良好,但我不得不承认我真的很想在这里也有向上箭头:)