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