- カテゴリ:
CURRENT_AVAILABLE_ROLES¶
現在のユーザーに付与されているすべてのロールを一覧表示する文字列(VARCHAR)を返します。
返される文字列には、ユーザーにより USE ROLE ステートメントで指定できる、すべてのロールの JSON エンコードリストが含まれています。これには、ユーザーに直接付与されるすべてのロールに加えて、ユーザーに直接付与されるロールの階層内にある権限の低いロールすべてが含まれます。戻り値を PARSE_JSON 関数に渡して、使用可能なすべてのロールのリストを含む VARIANT を取得できます。
- こちらもご参照ください。
構文¶
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" | | | | | ] | +-----+-------+------------------------+---------------------------+