SA_POLICY_ADMIN.APPLY_TABLE_POLICY 用于将指定的策略添加到表中。

如果策略标签列不存在,则将其添加到表中,并将其设置为 NULL,应用策略后将被自动启用。要更改表选项、标签功能或谓词,必须首先删除该策略,然后重新应用它。

语法

  1. SA_POLICY_ADMIN.APPLY_TABLE_POLICY (
  2. policy_name IN VARCHAR,
  3. schema_name IN VARCHAR,
  4. table_name IN VARCHAR,
  5. table_options IN VARCHAR := NULL,
  6. label_function IN VARCHAR := NULL,
  7. 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 表。

  1. BEGIN
  2. SA_POLICY_ADMIN.APPLY_TABLE_POLICY(
  3. policy_name => 'shield_agent_policy',
  4. schema_name => 'FURY',
  5. table_name => 'MISSION_LIST');
  6. END;
  7. /