SQL*Plus のコマンド履歴
SQL*Plus には SQL バッファという直前に入力した SQL、PL/SQL ブロックの履歴が保存される。(SQL*Plus コマンドの履歴は含まれない)
しかし シェルレベル(OS レベル)でのサポートによって SQL*Plusコマンドや SQL のヒストリが保存されるプラットフォームがある。
標準の SQL バッファ編集機能と再実行機能
APPEND、CHANGE、DELETE、EDIT
LIST 、RUN など
UNIX 系のコマンド履歴機能 (ied / rlwrap)
Linux
Linux では標準でコマンド履歴をサポートする機能はインストールされていないと思われる。
rlwrap(readline wrapper) という GPL なソフトウェアがあるので利用してみてはいかがだろう。
CentOS であれば epel リポジトリに含まれている。
HP-UX
HP-UX には ied という「対話型プログラムの入力エディタおよびコマンド履歴」という機能があるので ied と sqlplus を組み合わせて利用する。
Windows のコマンド履歴機能 (DOSKEY)
Windows コマンドプロンプトの場合には標準で DOSKEY が組み込まれており SQL*Plus 上からも使用することができる。
キー操作と機能
キー操作 | 機能 |
上下方向キー ↑ ↓ | コマンド履歴を呼び出し表示 ↑キーは過去方向に、↓キーは未来方向にコマンド履歴表示を移動する。 |
左右キー ← → | 表示されたコマンド上をプロンプト表示位置だけ移動 移動したプロンプト上でキー入力を行なうと、挿入モードの場合には文字列を挿入し置換モードの場合には表示されている文字を入力文字に置き換える |
INSERT キー | 挿入モードと置換モードの切り替え 挿入モードと置換モードの違いはキャレットで点滅するプロンプトの高さが変化すること。高い場合は置換モード、低い場合は挿入モード |
F7 キー | コマンド履歴の一覧表示 コマンド履歴のバッファに保存されているコマンドを行番号付きでCUIの擬似スプラッシュウィンドウで表示する |
F8 キー 右キー | コマンド履歴からの補完入力機能 コマンドの先頭数文字を入力し F8 キーを入力するとバッファに存在するコマンド履歴とマッチするコマンドを表示する。対象が複数存在する場合には再度 F8 キーを入力すると対象が切り替わる 右キー(→)の場合は直前に入力した文字が1文字づつ補完されていく。 |
F9 キー | 行番号を指定してコマンド履歴を呼び出す |
ALT+F7 | コマンド履歴をクリアする |
コマンド履歴のバッファサイズ
バッファサイズはコマンドプロンプトのコントロールボックス(左上のアイコン部)の「プロパティ」‐「オプション」‐「コマンドの履歴」フレームから変更することが可能。(変更時に一時的か永続的かを選択)