SA_POLICY_ADMIN.REMOVE_TABLE_POLICY 用于从表中删除指定的策略。

策略谓词和所有 DML 触发器将从表中删除,并且可以选择要删除的策略标签列。可以从属于该策略保护的 schema 的表中删除策略。

语法

  1. SA_POLICY_ADMIN.REMOVE_TABLE_POLICY (
  2. policy_name IN VARCHAR,
  3. schema_name IN VARCHAR,
  4. table_name IN VARCHAR,
  5. drop_column IN BOOLEAN := FALSE);

参数解释

参数

解释

policy_name

指定策略。要查找现有策略,请查询ALL_SA_POLICIES 数据字典视图的 POLICY_NAME 列。

schema_name

与此策略相关联的表所在的 schema。要查找此 schema,请查询 ALL_SA_TABLE_POLICIES 视图的 POLICY_NAMESCHEMA_NAME 列。

table_name

名称为 schema_name 的数据库中的表。要查找此表,请查询 ALL_SA_TABLE_POLICIES 视图的 POLICY_NAMESCHEMA_NAMETABLE_NAME 列。

drop_column

是否删除该列。如果为 TRUE,则将从表中删除该策略的列;否则,将保留该策略的列。

示例

如下示例为从 schema FURY 中的 MISSION_LIST 表上删除 shield_agent_policy策略:

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