Oracle と互換性のある PolarDB データベースでは、次の DBMS_SESSION.SET_ROLE プロシージャをサポートしています。

関数/プロシージャ 戻り値の型 説明
SET_ROLE(role_cmd) N/A SET ROLE 文とそれに続く role_cmd に指定された文字列値を実行します。

ネイティブ Oracleと比較した場合、Oracle と互換性のある PolarDB データベースでの DBMS_AQ の実装は、部分的な実装です。 DBMS_SESSION.SET_ROLE のみがサポートされています。

SET_ROLE

SET_ROLE プロシージャは、現在のセッションユーザーを role_cmd で指定されたロールに設定します。 現在のセッションが SET_ROLE プロシージャを呼び出した後、セッションは指定されたロールに割り当てられた権限を使用します。 プロシージャのシグネチャは次のとおりです。

SET_ROLE(role_cmd)

SET_ROLE プロシージャーは、role_cmd に指定された値を SET ROLE 文に追加してから、SET ROLE 文を呼び出します。

パラメーター

パラメーター 説明
role_cmd 文字列値の形式でロール名を指定します。

SET ROLE コマンドを実行して SET_ROLE プロシージャを呼び出し、現在のセッションユーザーのロールを manager に設定できます。 次の例では、この呼び出しを示しています。

exec DBMS_SESSION.SET_ROLE('manager');