PolarDB for PostgreSQL (Oracleと互換) は、DBMS_SESSION.SET_ROLEストアドプロシージャを提供します。
関数とストアドプロシージャ
関数またはストアドプロシージャ | 戻り値タイプ | 説明 |
SET_ROLE(role_cmd) | N/A | SET_ROLE ステートメントの後にROLE_cmd で指定された文字列値を実行します。 |
PolarDB for PostgreSQL (Compatible with Oracle) のDBMS_SESSIONストアドプロシージャは、Oracleのバージョンと比較して部分的に実装されています。 DBMS_SESSION.SET_ROLE のみがサポートされています。
SET_ROLE
SET_ROLEストアドプロシージャは、現在のセッションユーザーをrole_cmd
で指定されたロールに設定します。 現在のセッションがSET_ROLEストアドプロシージャを呼び出した後、セッションは指定されたロールに割り当てられた権限を使用します。 このストアドプロシージャの構文:
SET_ROLE(role_cmd)
SET_ROLEストアドプロシージャは、role_cmd
に指定された値をSET ROLE
ステートメントに追加し、ステートメントを呼び出します。
Parameters
パラメーター | 説明 |
role_cmd | 文字列値の形式でロール名を指定します。 |
例
次の例は、SET_ROLE
ステートメントを使用して現在のセッションユーザーのIDをマネージャーに設定するSET_ROLEストアドプロシージャの呼び出しを示しています。
exec DBMS_SESSION.SET_ROLE('manager');