CURRENT USER 特殊レジスター

CURRENT USER (または CURRENT_USER) 特殊レジスターは、それが参照されたステートメントに対するステートメント許可に使用されている許可 ID を指定します。

動的 SQL ステートメントの場合、この特殊レジスターが参照された動的 SQL ステートメントを発行するパッケージでの動的 SQL ステートメントの有効な動作によって、値は異なります。 詳しくは、『動的 SQL における DYNAMICRULES BIND オプションの影響』を参照してください。 このレジスターのデータ・タイプは VARCHAR(128) です。 許可 ID の長さが 8 バイトより少ない場合、その特殊レジスターの値は、長さが 8 バイトになるように末尾ブランクが埋め込まれます。

例: スキーマが CURRENT USER 特殊レジスターの値と一致する表名を選択します。
   SELECT TABNAME FROM SYSCAT.TABLES 
     WHERE TABSCHEMA = CURRENT USER AND TYPE = 'T'
このステートメントが静的 SQL ステートメントとして実行される場合は、 このステートメントを収めたパッケージのバインド・プログラムと一致するスキーマ名の付いた表が戻されます。 このステートメントが動的 SQL ステートメントの実行動作を使用して動的 SQL ステートメントとして実行される場合は、スキーマ名が SESSION_USER 特殊レジスターの現行値と一致する表が戻されます。