カテゴリ:

コンテキスト関数

CURRENT_AVAILABLE_ROLES

現在のユーザーに付与されているすべてのロールを一覧表示する文字列(VARCHAR)を返します。

返される文字列には、ユーザーにより USE ROLE ステートメントで指定できる、すべてのロールの JSON エンコードリストが含まれています。これには、ユーザーに直接付与されるすべてのロールに加えて、ユーザーに直接付与されるロールの階層内にある権限の低いロールすべてが含まれます。戻り値を PARSE_JSON 関数に渡して、使用可能なすべてのロールのリストを含む VARIANT を取得できます。

こちらもご参照ください。

CURRENT_ROLEIS_ROLE_IN_SESSION

構文

CURRENT_AVAILABLE_ROLES()

現在のユーザーに付与されているロールのリストを返します。

SELECT CURRENT_AVAILABLE_ROLES();

+----------------------------------------------------------+
| ROW | CURRENT_AVAILABLE_ROLES()                          |
+-----+----------------------------------------------------+
|  1  | [ "PUBLIC", "ANALYST", "DATA_ADMIN", "DATA_USER" ] |
+-----+----------------------------------------------------+

PARSE_JSON 関数を使用して VARIANT を返し、 FLATTEN 関数を使用してロールごとに1つの行を取得します。

SELECT INDEX,VALUE,THIS FROM TABLE(FLATTEN(input => PARSE_JSON(CURRENT_AVAILABLE_ROLES())));

+-----+-------+------------------------+---------------------------+
| ROW | INDEX | VALUE                  | THIS                      |
+-----+-------+------------------------+---------------------------+
|   1 |     0 | "PUBLIC"               | [                         |
|     |       |                        |   "PUBLIC",               |
|     |       |                        |   "ANALYST",              |
|     |       |                        |   "DATA_ADMIN",           |
|     |       |                        |   "DATA_USER"             |
|     |       |                        | ]                         |
+-----+-------+------------------------+---------------------------+
|   2 |     1 | "ANALYST"              | [                         |
|     |       |                        |   "PUBLIC",               |
|     |       |                        |   "ANALYST",              |
|     |       |                        |   "DATA_ADMIN",           |
|     |       |                        |   "DATA_USER"             |
|     |       |                        | ]                         |
+-----+-------+------------------------+---------------------------+
|   3 |     2 | "DATA_ADMIN"           | [                         |
|     |       |                        |   "PUBLIC",               |
|     |       |                        |   "ANALYST",              |
|     |       |                        |   "DATA_ADMIN",           |
|     |       |                        |   "DATA_USER"             |
|     |       |                        | ]                         |
+-----+-------+------------------------+---------------------------+
|   4 |     3 | "DATA_USER"            | [                         |
|     |       |                        |   "PUBLIC",               |
|     |       |                        |   "ANALYST",              |
|     |       |                        |   "DATA_ADMIN",           |
|     |       |                        |   "DATA_USER"             |
|     |       |                        | ]                         |
+-----+-------+------------------------+---------------------------+