DROP ROW ACCESS POLICY¶
システムから行アクセスポリシーを削除します。
- こちらもご参照ください。
構文¶
DROP ROW ACCESS POLICY [ IF EXISTS ] <name>
パラメーター¶
name行アクセスポリシーの識別子。アカウントに対して一意である必要があります。
識別子の値はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
アクセス制御の要件¶
この操作の実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
注意 |
|---|---|---|
OWNERSHIP |
スキーマ または 行アクセスポリシー |
行アクセスポリシーを含むスキーマ。 OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
マスキングポリシー DDL と権限の詳細については、 行アクセスポリシーを管理する をご参照ください。
使用上の注意¶
行アクセスポリシーをドロップする前に、次のステートメントを実行して、行アクセスポリシーがテーブルまたはビューに適用されているかどうかを確認します。詳細については、 POLICY_REFERENCES をご参照ください。
SELECT * from table(information_schema.policy_references(policy_name=>'<string>'));
現在リソースに添付されている行アクセスポリシーは、正常にドロップできません。DROP ステートメントを実行する前に、 ALTER TABLE または ALTER VIEW に示すように、 ALTER TABLE または ALTER VIEW ステートメントを使用してテーブルまたはビューから行アクセスポリシーをデタッチします。
Snowflakeは、行アクセスポリシーオブジェクトでの
UNDROPをサポートしていません。UNDROPを使用すると、エラーメッセージがトリガーされます。このエラーメッセージの詳細については、 行アクセスポリシーをトラブルシューティングする をご参照ください。テーブルの列に行アクセスポリシーが添付されている場合、その列をテーブルからドロップすることはできません。
IF EXISTS 句が指定されており、ターゲットオブジェクトが存在しない場合、コマンドはエラーを返さずに正常に完了します。
You can drop a row access policy that's in use by a table inside a backup. In that case, you can't immediately use the table after you restore it from the backup. To use the restored table, run an ALTER TABLE ... DROP ALL ROW ACCESS POLICIES command after restoring it.
例¶
次の例では、テーブルから行アクセスポリシーをドロップします。
DROP ROW ACCESS POLICY rap_table_employee_info;