プライマリ・コンテンツに移動
SQL*Plus®ユーザーズ・ガイドおよびリファレンス
リリース1 (12.1)
B71396-03
目次へ移動
目次
索引へ移動
索引

前
次

事前定義変数

次の8つの変数がSQL*Plusのインストール中に定義されます。これらの変数とユーザー定義変数の違いは、事前定義値を持つ点のみです。

表12-3 SQL*Plusのインストール時に事前定義される変数

変数名 内容

_CONNECT_IDENTIFIER

可能な宛先への接続に使用される接続識別子。

_DATE

現在の日付、またはユーザー定義の固定文字列。

_EDITOR

EDITコマンドで使用されるエディタを指定します。

_O_VERSION

インストールされたOracle Databaseの現行のバージョン。

_O_RELEASE

インストールされたOracle Databaseの完全なリリース番号。

_PRIVILEGE

現在の接続での権限レベル。

_SQLPLUS_RELEASE

インストールされたSQL*Plusコンポーネントの完全なリリース番号。

_USER

接続に使用されるユーザー名。

_CONNECT_IDENTIFIER

接続識別子のINSTANCE_NAME、SERVICE_NAMEまたはORACLE_SIDが含まれます。接続の際にユーザーが接続識別子を指定しない場合、_CONNECT_IDENTIFIERにはORACLE_SIDが含まれます。

_DATE

動的変数としての現在の日付、または固定文字列が含まれます。現行の日付はデフォルトで、NLS_DATE_FORMATの値を使用して書式設定されます。

_DATEは標準の置換変数として使用できるため、ユーザーはこれをTTITLEに含めることができます。_DATEが動的で、TTITLEで使用される場合は、すべての標準の変数のセマンティクスを持ちます。_DATEが値ではなくアンパサンドとともに使用される場合、TTITLEコマンドが実行される時間に設定されます。アンパサンドを接頭辞に使用しない場合は、ページごとに再度評価されます。TTITLEでの_DATE付きの詳細なレポート、または&_DATEへの複数の参照を持つ詳細なレポートでは、変数の出現ごとに異なる時間が表示されます。

TTITLEで_DATEを使用するユーザーは、ほとんどが、&_DATEのようにアンパサンドを使用します。そのため、レポートの各ページは同一のタイムスタンプを持ちます。これは、現在の日付の書式に秒のコンポーネントが含まれる場合、特に正確です。

DEFINE(引数なし)、または&_DATEを使用する間接参照では、現在の日付が指定されます。

_DATEの値はUNDEFINEDにすることも、または明示的にDEFINE _DATEを使用して固定文字列に設定することもできます。

デフォルトの動的な日付動作を再度有効にするには、次のように指定します。

DEFINE _DATE = "" (an empty string)

_DATEを使用すると、時刻の値をご使用のSQL*Plusプロンプトに含めることができます。

_EDITOR

EDITコマンドで使用されるデフォルトのエディタを指定します。

Windowsオペレーティング・システムへのSQL*Plusのインストールの場合は、インストール時にメモ帳に設定されます。UNIXオペレーティング・システムの場合は、UNIX環境変数の値、EDITOR(存在する場合)に設定されます。存在しない場合はEdに設定されます。

デフォルトのテキスト・エディタの名前を保持するには、DEFINEコマンドを使用して_EDITORを再定義します。たとえば、EDITで使用するエディタをviとして定義するには、次のコマンドを入力します。

DEFINE _EDITOR = vi

_O_VERSION

インストールされたOracle Databaseの現行のバージョンが、次のような書式で含まれます。

Oracle Database 12c Release 12.1.0.0.0 - Production

_O_RELEASE

インストールされたOracle Databaseの完全なリリース番号が、次のような書式で含まれます。

1201000100

_PRIVILEGE

現在の接続での権限レベルを示す値が含まれます。次のいずれかの値です。

  • AS SYSASM

  • AS SYSBACKUP

  • AS SYSDBA

  • AS SYSDG

  • AS SYSOPER

  • AS SYSRAC

  • 空の文字列(通常のユーザー接続または接続しない場合)

AS SYSASM、AS SYSBACKUP、AS SYSDBA、AS SYSDGおよびAS SYSOPERは、データベース管理者レベルの権限です。

AS SYSASM、AS SYSBACKUP、AS SYSDBA、AS SYSDG、AS SYSOPERおよびAS SYSRACは、データベース管理者レベルの権限です。

関連項目:

AS SYSDBAおよびAS SYSOPER権限については、『Oracle Database SQL言語リファレンス』を参照してください。

_SQLPLUS_RELEASE

インストールされたSQL*Plusコンポーネントの完全なリリース番号が、次のような書式で含まれます。

1201000100

_USER

現在接続しているユーザーの名前が含まれます。

DEFINEコマンドを使用すると、これらの変数の各値を参照できます。

これらの変数は、他の置換変数と同様にアクセスおよび再定義できます。これらの変数はTTITLE、「&」置換変数、またはSQL*Plusコマンドライン・プロンプトで使用できます。

DEFINEコマンドを使用すると、他のDEFINE定義を参照する場合と同じ方法で、これらの8つの事前定義変数の定義を参照できます。また、DEFINEコマンドを使用してこれらの値を再定義したり、UNDEFINEコマンドを使用してこれらの定義を削除し、使用不可にすることもできます。

特定の変数の定義を表示するには、次のように入力します。

DEFINE variable

variableには、定義を表示する置換変数の名前を指定します。

すべての事前定義変数およびユーザー定義変数の定義を表示するには、次のように入力します。

DEFINE

すべての事前定義変数およびユーザー定義変数の定義が表示されます。

UNDEFINEコマンドを使用して、置換変数の定義を削除し、使用不可にできます。

事前定義変数の使用例

接続識別子を表示するSQL*Plusプロンプトを変更するには、次のように入力します。

SET SQLPROMPT '_CONNECT_IDENTIFIER > '

事前定義された_SQLPLUS_RELEASE置換変数の値を表示するには、次のように入力します。

DEFINE _SQLPLUS_RELEASE

事前定義された変数_SQLPLUS_RELEASEの値が表示されます。

DEFINE _SQLPLUS_RELEASE = "1201000100" (CHAR)