説明
この関数は、現在のセッションに関する情報を返します。この関数はCHECK制約の条件下では使用できません。
構文
USERENV('parameter')
パラメータの説明
parameter変数の取り得る値は以下のとおりです:
値 |
説明 |
|---|---|
| CLIENT_INFO | ユーザーセッション情報(最大64バイト)を返します。アプリケーションはDBMS_APPLICATION_INFOシステムパッケージを使用してこの情報を格納できます。 |
| INSTANCE | 現在のインスタンスの識別子。 |
| LANG | 言語の略称名で、LANGUAGEパラメータよりも短い形式です。 |
| LANGUAGE | 現在のセッションで使用されている言語と地域、およびデータベースの文字セット。形式はlanguage_territory.charactersetです。 |
| SCHEMAID | Schema ID。 |
| SID | SESSIONID | 現在のセッションのClient Session IDを返します。このIDはクライアント内でのセッションの一意の識別子です。 |
戻り値
SESSIONIDとSIDパラメータを指定して呼び出す場合はNUMBERを返し、その他のパラメータを指定して呼び出す場合はVARCHAR2データ型を返します。
例
現在のセッションで使用されている言語と地域、およびデータベースの文字セットを取得します。
obclient [SYS]> SELECT USERENV('LANGUAGE') "Language" FROM DUAL;実行結果は次のとおりです:
+---------------------------+ | Language | +---------------------------+ | AMERICAN_AMERICA.AL32UTF8 | +---------------------------+ 1 row in set現在のセッションのSchema 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を確認することもできます。詳細については、テナントセッションの確認を参照してください。