首批通过分布式安全可靠测评,为关键业务系统打造
SA_POLICY_ADMIN.APPLY_TABLE_POLICY
更新时间:2026-04-10 11:58:37
SA_POLICY_ADMIN.APPLY_TABLE_POLICY 用于将指定的策略添加到表中。
如果策略标签列不存在,则将其添加到表中,并将其设置为 NULL,应用策略后将被自动启用。要更改表选项、标签功能或谓词,必须首先删除该策略,然后重新应用它。
功能适用性
该内容仅适用于 OceanBase 数据库企业版。OceanBase 数据库社区版仅提供 MySQL 模式。
语法
SA_POLICY_ADMIN.APPLY_TABLE_POLICY (
policy_name IN VARCHAR,
schema_name IN VARCHAR,
table_name IN VARCHAR,
table_options IN VARCHAR := NULL,
label_function IN VARCHAR := NULL,
predicate IN VARCHAR := NULL);
参数解释
| 参数 | 描述 |
|---|---|
| policy_name | 指定策略。 要查找现有策略,请查询 ALL_SA_POLICIES 数据字典视图的 POLICY_NAME 列。 |
| schema_name | 受策略保护的表所在的 Schema。 |
| table_name | 受策略保护的表。 |
| table_options | 该表所使用的策略执行选项的列表(以逗号分隔)。 |
| label_function | 字符串调用函数以返回标签值,以用作默认值。 |
| predicate | 附加谓词,用于与基于标签的谓词结合(使用 AND 或 OR)。 |
示例
以下语句将 shield_agent_policy 策略应用于 Schema FURY 中的 MISSION_LIST 表。
BEGIN
SA_POLICY_ADMIN.APPLY_TABLE_POLICY(
policy_name => 'shield_agent_policy',
schema_name => 'FURY',
table_name => 'MISSION_LIST');
END;
/