13.26 HISTORY
構文
HIST[ORY] [[[N] {R[UN] | E[DIT] | D[ELETE]}] | CLEAR | LIST ]
ユーザーは以前使用したSQL*Plus、SQLまたはPL/SQLのコマンドを現在のセッションの履歴リストから実行、編集または削除できます。SET HISTORYコマンドを使用することで、現在のSQL*Plusセッションで履歴の記録を有効または無効にできます。
HISTORYコマンドで、次の操作を実行できます。
-
コマンド履歴リストのすべてのエントリをリストします。
-
コマンド履歴リストのエントリを実行します。
-
コマンド履歴リストのエントリを編集します。
-
コマンド履歴リストからエントリを削除します。
-
コマンド履歴リストのすべてのエントリを消去します。
項
HIST[ORY]
N
コマンド履歴リストのエントリを表します。アスタリスク(*)は、コマンド履歴リストで最後に使用されたコマンドを示します。Nを省略した場合は、最後に使用されたコマンドでRUN、EDITまたはDELETE操作が実行されます。
R[UN]
コマンド履歴リストからエントリNまたは最後に使用したコマンドを実行できます。
E[DIT]
デフォルトのテキスト・エディタを使用して、コマンド履歴リストのエントリNまたは最後に使用されたコマンドを編集できます。コマンド履歴リストのエントリNを編集して変更を保存すると、リストの末尾に新規エントリが作成されます。コマンド履歴リストのエントリ数が最大限度に到達すると、新規エントリに対応するためリスト内で最も古いエントリが消去されます。
D[ELETE]
コマンド履歴リストからエントリNまたは最後に使用したコマンドを削除できます。履歴リストからエントリを削除すると、リストが並べ替えられ、最新の変更が反映されます。
CLEAR
履歴リストのすべてのエントリを消去できます。消去すると、履歴リストはリカバリできません。
LIST
使用方法
デフォルトのテキスト・エディタの名前を保持するには、SQL*PlusのDEFINEコマンドを使用して変数_EDITORを定義します。たとえば、EDITで使用するエディタをviとして定義するには、次のコマンドを入力します。
DEFINE _EDITOR = vi
_EDITORが未定義の場合、EDITは、デフォルトのオペレーティング・システム・エディタの起動を試みます。詳細は、「DEFINE」コマンドを参照してください。
例13-1 例
次の例では、履歴リストの5番目のエントリを実行します。
SQL>history 5 run
次の例では、履歴リストの3番目のエントリを編集できます。
SQL>history 3 edit
次の例では、履歴リストから2番目のエントリを削除できます。
SQL>history 2 delete
次の例では、履歴リストからすべてのエントリを削除できます。
SQL>history clear
次の例は、履歴リストで最後に使用されたコマンドを編集および実行する方法を示しています。
SQL>history edit SQL>history run
次の例は、コマンド履歴を有効または無効にする方法およびコマンド履歴ステータスを確認する方法を示しています。
SQL> set history on SQL> show history History is ON and set to "100" SQL> set history off SQL> show history History is OFF SQL> set history 1000 SQL> show history History is ON and set to "1000"
次の例は、履歴リストのすべてのエントリをリストする方法を示しています。
SQL> history 1 show history 2 show user 3 desc dual * 4 select * from dual;
アスタリスク(*)は、コマンド履歴リストで最後に使用されたコマンドを示します。
次の例は、履歴リストのすべてのエントリをリストしてから、2番目のエントリを実行する方法を示しています。
SQL> history 1 show history 2 show user 3 desc dual * 4 select * from dual; SQL> history 2 run USER is "SYSTEM" SQL> history 1 show hist * 2 show user 3 desc dual 4 select * from dual;