ALTER POLICY

更改一条行级安全性策略的定义

概要

ALTER POLICY <name> ON <table_name> RENAME TO <new_name>

ALTER POLICY <name ON table_name>
    [ TO { <role_name> | PUBLIC | CURRENT_USER | SESSION_USER } [, ...] ]
    [ USING ( <using_expression> ) ]
    [ WITH CHECK ( <check_expression> ) ]

描述

ALTER POLICY 用于修改现有行级安全策略的定义。请注意,ALTER POLICY 仅允许修改策略适用的角色集以及 USING 和 WITH CHECK 表达式。若需更改策略的其他属性(如适用命令或策略类型为允许型或限制型),则必须删除并重新创建该策略。

使用 ALTER POLICY 时,必须拥有该策略所适用的表。

在 ALTER POLICY 的第二种形式中,若指定角色列表、using_expression 和 check_expression,则这些部分将独立替换。当其中某项省略时,策略的对应部分保持不变。

参数

name

  • 要更改的现有策略的名称。 table_name
  • 该策略所在的表的名称(可以被模式限定)。 new_name
  • 该策略的新名称。 role_name
  • 该策略适用的角色。可以一次指定多个角色。要把该策略 应用于所有角色,可使用 PUBLIC。 using_expression
  • 该策略的 USING 表达式。详见 CREATE POLICY 。 check_expression
  • 该策略的 WITH CHECK 表达式。详见 CREATE POLICY

兼容性

ALTER POLICY 是 YMatrix 对 SQL 标准的扩展。

另见

CREATE POLICY, DROP POLICY