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');