<budget_name>!REMOVE_TAG

从自定义预算中移除标签/值组合。必须通过 引用 方式移除标签。

另请参阅:

<budget_name>!ADD_TAG<budget_name>!GET_LINKED_TAGS

语法

<budget_name>!REMOVE_TAG(
    { '<tag_reference>' | <reference_statement> },
    'tag_value' )
Copy

实参

'tag_reference'

解析为标签的序列化字符串表示形式。此字符串是 SYSTEM$REFERENCE 函数的输出。

reference_statement

SYSTEM$REFERENCE 语句,用于为要从预算中移除的标签创建引用。

'tag_value'

指定要从预算中移除的标签/值组合的值。

如果使用其他值将标签添加到预算中,则在移除此特定标签/值组合后,该标签将继续与预算相关联。

返回

返回 VARCHAR 值,用于指明标签/值组合是否已成功从预算中移除。

如果无法从预算中移除标签,该函数将返回一条错误消息。

访问控制要求

要对 自定义预算 调用此方法,需要具备以下最低权限和角色:

  • 预算实例的 ADMIN 实例角色

  • 对包含预算实例的数据库和架构的 USAGE 权限。

  • 对包含标签的数据库和架构的 USAGE 权限。

  • 对被移除标签的 APPLYBUDGET 权限。

有关更多信息,请参阅 Budgets 角色和权限

使用说明

  • 此方法只能在 自定义预算 实例上调用。

  • 调用此方法不会返回对象。因此,您无法使用方法链来调用此方法返回值上的另一个方法。相反,应在单独 SQL 语句中调用每个方法。

示例

在调用移除标签/值组合的方法之前检索标签引用。

以下语句会创建并返回 cost_center 标签的引用:

SELECT SYSTEM$REFERENCE(
  'TAG',
  'cost_mgmt_db.tags.cost_center',
  'SESSION',
  'APPLYBUDGET');
Copy

该语句会在输出中返回引用。

ENT_REF_TAG_10382726315710_8A8626AE765E29446C38A217CAD093FCC9A454C2

以下语句使用此引用的字符串字面量将 cost_center = 'sales' 标签/值组合添加到 budget_db.budget_schema.my_budget 预算:

CALL budget_db.budget_schema.my_budget!REMOVE_TAG(
  'ENT_REF_TAG_10382726315710_8A8626AE765E29446C38A217CAD093FCC9A454C2',
  'sales');
Copy
直接在实参中包含 SYSTEM$REFERENCE 函数

执行以下语句后,预算将不再跟踪标有标签/值组合 team_tag = 'finance' 的对象。

CALL budget_db.budget_schema.my_budget!REMOVE_TAG(
    (SELECT SYSTEM$REFERENCE('TAG', 'cost_mgmt_db.tags.team_tag', 'SESSION', 'APPLYBUDGET')),
    'finance');
Copy
语言: 中文