DROP ROLE¶
指定されたロールをシステムから削除します。
- こちらもご参照ください。
構文¶
DROP ROLE [ IF EXISTS ] <name>
パラメーター¶
name
ドロップするロールの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
使用上の注意¶
ドロップされたロールは回復できません。再作成する必要があります。
共有データベース上で OWNERSHIP 権限を持つロールはドロップできません。 GRANT OWNERSHIP コマンドを使用して、まず共有データベースの OWNERSHIP 権限を譲渡し、次にそのロールをドロップします。
ドロップされたロールが所有するオブジェクトの所有権は、 DROP ROLE コマンドを実行するロールに譲渡されます。これらの各オブジェクトの所有権を別のロールに譲渡するには、 GRANT OWNERSHIP ... COPY CURRENT GRANTS を使用します。
ロールに付与者または被付与者としての将来の権限がある場合、ロールをドロップできるのは、MANAGE GRANTS 権限があるロールを持つユーザーのみです。
ロールがドロップされると、そのロールを付与者または被付与者として指定する現在および将来のすべての付与がドロップされます。
GRANTS_TO_ROLES Account Usageビューをクエリして、指定されたロールを付与者または被付与者として指定する権限付与を取得します。
SELECT * FROM snowflake.account_usage.grants_to_roles WHERE grantee_name = upper('<role_name>') OR granted_by = upper('<role_name>');
次の例では、
myrole
が付与者または被付与者である付与を取得します。SELECT * FROM snowflake.account_usage.grants_to_roles WHERE grantee_name = upper('myrole') OR granted_by = upper('myrole');
ロールがユーザーへのロールの付与者である場合にロールをドロップすると、これらの付与が自動的に取り消されます。
例¶
DROP ROLE myrole;