説明
この関数は、現在のセッションに関する情報を返します。この関数はCHECK制約の条件下では使用できません。
構文
USERENV('parameter')
パラメータの説明
parameter変数の値は以下のとおりです:
| 値 | 説明 |
|---|---|
| CLIENT_INFO | ユーザーセッション情報を返します(最大64バイト)。アプリケーションはDBMS_APPLICATION_INFOシステムパッケージを使用してこれらの情報を格納できます。 |
| INSTANCE | 現在のインスタンスの識別子。 |
| LANG | 言語の略称名で、LANGUAGEパラメータよりも短い形式です。 |
| LANGUAGE | 現在のセッションで使用される言語と地域、およびデータベースの文字セット。形式はlanguage_territory.charactersetです。 |
| SCHEMAID | スキーマID。 |
| SID | SESSIONID | 現在のセッションのクライアントセッションIDを返します。このIDは、クライアント上のセッションを一意に識別するためのものです。 |
戻り値
SESSIONIDとSIDパラメータを含む呼び出しはNUMBERを返しますが、他のパラメータを含む呼び出しはすべてVARCHAR2データ型を返します。
例
現在のセッションで使用される言語とロケール、およびデータベースの文字セットを取得します。
obclient [SYS]> SELECT USERENV('LANGUAGE') "Language" FROM DUAL;実行結果は次のとおりです:
+---------------------------+ | Language | +---------------------------+ | AMERICAN_AMERICA.AL32UTF8 | +---------------------------+ 1 row in set現在のセッションのスキーマIDを取得します。
obclient [SYS]> SELECT USERENV('SCHEMAID') FROM DUAL;実行結果は次のとおりです:
+---------------------+ | USERENV('SCHEMAID') | +---------------------+ | 201006 | +---------------------+ 1 row in set現在のセッションのクライアントセッションIDを取得します。
obclient [SYS]> SELECT USERENV('SESSIONID') AS Client_Session_ID FROM DUAL;または
obclient [SYS]> SELECT USERENV('SID') AS Client_Session_ID FROM DUAL;実行結果は次のとおりです:
+-------------------+ | CLIENT_SESSION_ID | +-------------------+ | 3221488033 | +-------------------+ 1 row in set
関連ドキュメント
SHOW PROCESSLISTステートメントを使用して、現在のデータベース内のセッション数とセッションIDを照会することもできます。詳細については、テナントセッションの表示を参照してください。