DROP ROLE¶
指定されたロールをシステムから削除します。
- こちらもご参照ください。
構文¶
パラメーター¶
nameドロップするロールの識別子を指定します。識別子にスペースまたは特殊文字が含まれる場合、文字列全体を二重引用符で囲む必要があります。二重引用符で囲まれた識別子も大文字と小文字が区別されます。
使用上の注意¶
ドロップされたロールは回復できません。再作成する必要があります。
現在のプライマリロールを削除することはできません。このロールを削除しようとするとエラーが返されます。例:
詳細については、 アクティブロール および プライマリ・ロールとセカンダリ・ロールによる権限付与 をご参照ください。
共有データベース上で OWNERSHIP 権限を持つロールはドロップできません。GRANT OWNERSHIP コマンドを使用して、まず共有データベースの OWNERSHIP 権限を譲渡し、次にそのロールをドロップします。
ドロップされたロールが所有するオブジェクトの所有権は、 DROP ROLE コマンドを実行するロールに譲渡されます。これらの各オブジェクトの所有権を別のロールに譲渡するには、 GRANT OWNERSHIP ... COPY CURRENT GRANTS を使用します。
ロールがドロップされると、そのロールを付与者または被付与者として指定する現在および将来のすべての付与がドロップされます。
GRANTS_TO_ROLES Account Usageビューをクエリして、指定されたロールを付与者または被付与者として指定する権限付与を取得します。
次の例では、
myroleが付与者または被付与者である付与を取得します。ロールがユーザーへのロールの付与者である場合にロールをドロップすると、これらの付与が自動的に取り消されます。
付与の失効は、 DROP ROLE コマンドの実行中に起こります。取り消す付与が何千、何百万とある場合、 DROP ROLE コマンドはタイムアウトする場合があります。コマンドを再実行し、前回の起動が停止した場所で実行を継続することは安全です。
IF EXISTS 句が指定されており、ターゲットオブジェクトが存在しない場合、コマンドはエラーを返さずに正常に完了します。
You can drop a role that's in use by an object inside a backup. Doing so might take a long time if there are backups. That's because Snowflake rewrites the metadata for grants associated with the objects inside backups when a role is dropped.