很多时候我们只能通过SQLPlus来操作数据库,而当一个SQL执行结果太多时,我们要回翻之前的SQL语句就会很麻烦,甚至可能由于ssh客户端或SQLPlus客户端的buffer限制,更早以前的语句被刷出了窗口,你就不得不重新敲一遍SQL,这样会带来很多麻烦。

在12c里,针对此Oracle推出了 History命令,这很像Shell中的history,语法为:

HIST[ORY] [n RUN | EDIT | DEL[ETE]] |[CLEAR | LIST]

该特性使用户能够从当前会话的历史列表中运行、编辑或删除以前使用的SQL * Plus,SQL或PL / SQL命令。可以使用SET HISTORY命令在当前SQL * Plus会话中启用或禁用HISTORY命令。

默认是关闭的,并在每次会话断开连接后会自动关闭,当hist关闭后,hist 列表会被清空。如下示例:

HISTORY命令能够:

列出命令历史列表中的所有条目。

在命令历史列表中运行条目。

在命令历史列表中编辑一个条目。

从命令历史列表中删除一个条目。

清除命令历史记录列表中的所有条目。

Hist命令选项

·        His(tory):列出命令历史列表中的所有条目。

·        n:表示命令历史记录列表中的条目。星号(*)表示命令历史列表中最后使用的命令。

说明

官方文档在这里说hist命令列出来的最后一条会加*号,但在我测试的过程中,一直都没有出现*号。虽然只是个小细节并不影响什么,大家也可以自己测一下。

·        run:从命令历史列表中执行条目n。

·        edit:可以使用默认的文本编辑器在命令历史列表中编辑条目n。在命令历史列表中编辑条目n并保存更改后,将在列表末尾创建一个新条目。当命令历史列表中的条目数量达到最大限制时,列表中最早的条目将被清除以容纳新条目。

·        del(ete):能够从命令历史记录列表中删除条目n。从历史记录列表中删除条目后,列表将重新排序,以反映最近的更改。

·        clear:能够清除历史记录列表中的所有条目。一旦清除,历史列表就无法恢复。

·        list:列出历史列表中的所有条目。这与使用HIST [ORY]命令本身是一样的。

拓展用法

可以使用SQL * Plus DEFINE命令来定义变量_EDITOR,以保存首选文本编辑器的名称。 例如,要将EDIT使用的编辑器定义为vi,请输入以下命令:DEFINE_EDITOR = vi

举例如下

以下示例执行历史列表中的第五个条目:

HIST[ORY] 5 RUN

以下示例允许编辑历史列表中的第三个条目:

HIST[ORY] 3 EDIT

此时会进入vi编辑状态,对选择的历史条目可以做修改:

以下示例允许从历史记录列表中删除第二个条目:

HIST[ORY] 2 DEL[ETE]

此时第二条历史记录被删除。

以下示例允许从历史记录列表中删除所有条目:

HIST[ORY] CLEAR

以下示例列出历史列表中的所有条目。这与使用HIST [ORY]命令本身是一样的。

HIST LIST

以下示例说明如何启用或禁用命令历史记录,以及如何检查命令历史记录状态:

在示例中hist 后面加数字表示hist列表的长度。默认值为100.

有了hist特性,的确会给我们的操作带来很多方便。

The End.

你造吗,Oracle SQLplus 也有History命令了相关推荐

  1. ubuntu下解决oracle sqlplus不能查看历史命令问题

    2019独角兽企业重金招聘Python工程师标准>>> http://utopia.knoware.nl/~hlub/uck/rlwrap   下载rlwrap-0.37.tar.g ...

  2. oracle sqlplus 常用命令大全

    show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL> show all --查看所有68个系统变量值  SQL> show user --显示当前连接用户  SQL& ...

  3. oracle打开当前表的编辑,oracle sqlplus常用命令

    Oracle sqlplus 常用命令 1.查看当前库的所有数据表: SQL> select TABLE_NAME from all_tables; select * from all_tabl ...

  4. Oracle数据库间的数据复制 - SQLPlus中的COPY命令

     Copy命令可以实现不同Oracle数据库间的数据的复制,也是可以实现同一数据库的数据复制,其性能表现和导入/导出相同.原理图: 根据9i文档,说Copy命令未来会不支持,但实际上Oracle ...

  5. Oracle sqlplus的set命令详细使用和设置

    Oracle sqlplus的set命令详细使用和设置 SQL*Plus是Oracle提供的访问数据库服务器的客户端软件,是Oracle的核心组件,也是Oracle DBA最常用的工具. 1.1  s ...

  6. Oracle在命令行中输入clear,Oracle SQLPlus 常用命令及解释

    Oracle SQLPlus 常用命令及解释 1.@ 执行位于指定脚本中的SQLPlus语句.可以从本地文件系统或Web服务器中调用脚本.可以为脚本中的变量传递值.在iSQL*Plus中只能从Web服 ...

  7. oracle sqlplus help,oracle: 安装sqlplus help帮助命令

    采用system用户登录执行脚本方式 1.用system用户登录,必须的,help表属于system的schema, 而且不要以sysdba身份登录 2.执行脚本内容如下 [oracle@centos ...

  8. Linux命令篇之history命令和alias命令

    history历史命令使用方法详解 1.使用HISTTIMEFORMAT在历史中显示TIMESTAMP 通常情况下,当你在命令行中键入history时,终端中将显示你刚输入的命令及其编号.如果出于审查 ...

  9. 配置linux下oracle sqlplus/rman等历史记录回调功能

    配置linux下oracle sqlplus/rman等历史记录回调功能 ############################################################ # ...

最新文章

  1. C++_static,类模板、函数模板、namespace
  2. oracle数据库详细性能参数,ORACLE数据库性能参数的优化
  3. python可视化窗口编程-Python可视化界面编程入门
  4. [dpdk] SDK编译-简单扼要版
  5. [APIO2016]
  6. 我的世界java多大内存_我的世界电脑版内存多大
  7. 程序员为什么老得快_这段 Python 代码让程序员赚 300W,公司已确认!网友:神操作!...
  8. HTML5下划线是一个常见的问题
  9. asp.net后台管理系统-登陆模块-路由权限控制_1
  10. linux ifcfg-33 没有eth0解决方法
  11. JAVA和JAVAC 命令行
  12. 2018-2019-2 20175228实验二《面向对象程序设计》实验报告
  13. 【爬坑日记】vue中传props时默认为Boolean问题
  14. Luogu1169 [ZJOI2007]棋盘制作
  15. python调用hownet API计算两个词的相似度
  16. RestClient 接口测试实践
  17. 计算机三维设计大作业模型图,机械制图作业
  18. C语言加法测试题,c语言50练习题.doc
  19. 猿人学web端爬虫攻防大赛赛题解析_第七题:动态字体,随风漂移
  20. 0x80004005错误代码解决方法,哪种方法快捷有效?

热门文章

  1. BASNet,一种能关注边缘的显著性检测算法
  2. 从腾讯的职级系统,看清自己的职场宿命(转载)
  3. 某些有趣的API接口(2)
  4. kmp总结(相关例题1. Simpsons’ Hidden Talents 2.Oulipo)
  5. 一些有关银行的英文单词的积累
  6. js 正则表达式禁止输入框输入特殊字符遇到的坑以及解决方案
  7. Deer-ui:一个简单高效的react组件库
  8. 对计算机应用技术的认识和我感想,信息技术培训心得体会范文大全
  9. 如何避开精准算法推送的新闻或文章呢?
  10. import、require、export、module.exports详解