<budget_name>!ADD_TAG

为自定义预算添加标签。标签必须通过 引用 方式添加。

另请参阅:

<budget_name>!REMOVE_TAG<budget_name>!GET_LINKED_TAGS

语法

<budget_name>!ADD_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!ADD_TAG(
  'ENT_REF_TAG_10382726315710_8A8626AE765E29446C38A217CAD093FCC9A454C2',
  'sales');
Copy
直接在实参中包含 SYSTEM$REFERENCE 函数

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

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