SET ROLE ステートメント
SET ROLE ステートメントは、セッションの許可 ID が特定のロールのメンバーであることを確認します。 許可 ID は、ロールが許可 ID に付与されるかまたはメンバーとして許可 ID を持つグループまたはロールに付与されると、そのロールのメンバーシップを取得します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
必要ありません。
構文
説明
- role-name
- セッションの許可 ID がメンバーとして所属する、検査対象のロールを指定します。 role-name は、現行サーバーの既存のロールを識別するものでなければなりません (SQLSTATE 42704)。 セッションの許可 ID が role-name のメンバーではない場合、エラーが戻されます (SQLSTATE 42501)。
注
- 許可 ID に既に付与されているロールはすべて、許可検査で使用されます。 SET ROLE ステートメントは、この許可検査でどのロールを使用するかということには影響を与えません。 許可 ID がメンバーとして所属するロールの変更は、GRANT ROLE および REVOKE ROLE ステートメントを使用して行います。
例
- 例 1: ユーザー WALID にロール EDITOR が付与されており、ロール AUTHOR は付与されていません。
WALID が EDITOR ロールのメンバーであることを確認します。
SET ROLE EDITOR - 例 2: WALID が AUTHOR ロールのメンバーではないことを確認します。
以下のステートメントはエラーを戻します (SQLSTATE 42501)。
SET ROLE AUTHOR
