SESSION_USER 特殊レジスター

SESSION_USER 特殊レジスターは、現行セッションに使用されている現行ランタイム許可 ID を指定します。

このレジスターのデータ・タイプは VARCHAR(128) です。 許可 ID の長さが 8 バイトより少ない場合、その特殊レジスターの値は、長さが 8 バイトになるように末尾ブランクが埋め込まれます。

新しい接続での SESSION_USER の初期値は、SYSTEM_USER 特殊レジスターの値と同じです。 値は、SET SESSION AUTHORIZATION ステートメントを呼び出すことで変更できます。

SESSION_USER は、USER 特殊レジスターの同義語です。

例: 動的 SQL を介して呼び出しを発行する場合に、現行のランタイム許可 ID で実行できるルーチンを判別します。
   SELECT SCHEMA, SPECIFICNAME FROM SYSCAT.ROUTINEAUTH
     WHERE GRANTEE = SESSION_USER
     AND EXECUTEAUTH IN ('Y', 'G')