REVOKE (SETSESSIONUSER 特権) ステートメント
この形式の REVOKE ステートメントは、1 つ以上の SETSESSIONUSER 特権を 1 つ以上の許可 ID から取り消します。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込んだり、動的 SQL ステートメントを使用して発行したりすることができます。 これは、DYNAMICRULES の実行動作がパッケージに効力を持つ場合にのみ、動的に準備できる実行可能ステートメントです (SQLSTATE 42509)。
許可
このステートメントの許可 ID が持つ特権には、SECADM 権限が含まれている必要があります。
構文
説明
- SETSESSIONUSER ON
- 新しい許可 ID を担うための特権を取り消します。
- USER
- SET SESSION AUTHORIZATION ステートメントによって authorization-name が担うことのできる許可 ID を指定します。 session-authorization-name は、グループではなく、authorization-name が担うことのできるユーザーを指定する必要があります (SQLSTATE 42504)。
- PUBLIC
- セッション許可を設定するすべての特権を取り消すことを指定します。
- FROM
- 特権を誰から取り消すかを指定します。
- ユーザー
- authorization-name がユーザーであることを指定します。
- GROUP
- authorization-name がグループ名であることを指定します。
- 1 人または複数のユーザーまたはグループの許可 ID をリストします。
この許可 ID のリストに、このステートメントを発行するユーザーの許可 ID を含めることはできません (SQLSTATE 42502)。
例
- 例 1: ユーザー PAUL は、セッション許可を WALID に対して設定する特権を保有しているので、ユーザー WALID として SQL ステートメントを実行する特権ももっています。 以下のステートメントは、その特権を取り消します。
REVOKE SETSESSIONUSER ON USER WALID FROM USER PAUL
- 例 2: ユーザー GUYLAINE は、セッション許可を BOBBY、RICK、または KEVIN に対して設定する特権を保有しているので、ユーザー BOBBY、RICK、または KEVIN として SQL ステートメントを実行する特権ももっています。 以下のステートメントは、それらの許可 ID のうちの 2 つの使用特権を取り消します。 このステートメントの実行後、GUYLAINE は KEVIN に対するセッション許可だけを設定できるようになります。
REVOKE SETSESSIONUSER ON USER BOBBY, USER RICK FROM USER GUYLAINE
- 例 3: グループ ACCTG およびユーザー WALID は、任意の許可 ID に対してセッション許可を設定することができます。 以下のステートメントは、ACCTG および WALID の両方の特権を取り消します。
REVOKE SETSESSIONUSER ON PUBLIC FROM USER WALID, GROUP ACCTG