<budget_name>!ADD_RESOURCE

将对象添加到 自定义预算。必须通过 引用 添加对象。

另请参阅:

<budget_name>!REMOVE_RESOURCE<budget_name>!GET_LINKED_RESOURCES

语法

<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
Copy

实参

'object_reference'

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

reference_statement

SYSTEM$REFERENCE 语句,用于为要添加到预算中的对象创建引用。

返回

Successfully added resource to resource group

访问控制要求

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

  • 预算实例的 ADMIN 实例角色

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

  • 对包含该被添加对象的数据库和架构的 USAGE 权限(对于架构对象)。

  • 被添加对象的 APPLYBUDGET 权限。

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

使用说明

  • 您只能将对象添加到 自定义预算

  • 您只能将对象添加到一个自定义预算。如果对象当前包含在一个自定义预算中,并且您将该对象添加到第二个自定义预算中,则 Budgets 将从第一个自定义预算中移除该对象,而不会发出警告。

  • 不能为 SNOWFLAKE 数据库创建引用,也不能将其添加到预算。

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

示例

  1. 为对象创建引用,并将该对象添加到预算。

    为表 t1 创建引用:

    SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
    
    Copy

    返回:

    ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
    

    将表 t1 添加到 budget_db.budget_schema 架构中的预算 my_budget

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  2. 使用 SYSTEM$REFERENCE 语句,将对象添加到预算。

    将表 t1 添加到 budget_db.budget_schema 架构中的预算 my_budget

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
    
    Copy

错误消息

有关常见错误消息及其原因和解决方案的列表,请参阅 您无法在自定义预算中添加或移除对象

语言: 中文