ログインしているユーザの名前を返すSQLファンクション(Oracle)
USERファンクションでログインしているユーザの名前を取得できる。
SQL> SELECT USER FROM DUAL; USER --------------------------- SCOTT SQL>
SYS_CONTEXT を使ってた今までの苦労は一体、、、orz
SQL> SELECT SYS_CONTEXT('USERENV', 'SESSION_USER') FROM DUAL; SYS_CONTEXT('USERENV','SESSION_USER') ------------------------------------- SCOTT SQL>
使い道は、例えば以下のように自スキーマに在るテーブルの統計を取得する時などに。
EXEC DBMS_STATS.GATHER_TABLE_STATS(USER, 'TBL_A');
Oracle Database SQL言語リファレンス
11gリリース2(11.2)
B56299-02
USERファンクション
http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/functions227.htm#sthref1751
SYS_CONTEXTファンクション
http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/functions184.htm#i1038176
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス
11g リリース2(11.2)
B56262-02
141 DBMS_STATSパッケージ
GATHER_TABLE_STATSプロシージャ
http://download.oracle.com/docs/cd/E16338_01/appdev.112/b56262/d_stats.htm#i1036461