<budget_name>!SET_CYCLE_START_ACTION

将存储过程与预算关联,以便在预算周期重新启动时调用该过程。该过程必须通过 引用 方式进行关联。

有关更多信息,请参阅 预算的周期开始操作

语法

<budget_name>!SET_CYCLE_START_ACTION (
  { '<stored_procedure_reference>' | <reference_statement> },
  { <array_of_arguments> | <array_construct_statement> } )

实参

'stored_procedure_reference'

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

reference_statement

SYSTEM$REFERENCE 语句,用于为要与预算关联的过程创建引用。

array_of_arguments

要传递给存储过程的实参数组。

array_construct_statement

ARRAY_CONSTRUCT 语句,返回由零个、一个或多个输入构造的数组。

返回

返回一个 VARCHAR 值,用于指明过程是否已成功与预算相关联。

如果无法将过程与预算关联,该方法将返回一条错误消息。

访问控制要求

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

  • 预算实例的 ADMIN 实例角色

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

  • 对包含存储过程的数据库和架构的 USAGE 权限。

  • 对存储过程的 USAGE 权限。

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

使用说明

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

示例

reset_resources 存储过程与 budget_db.sch1.my_budget 预算关联,以便在预算周期重新启动时调用:

CALL budget_db.sch1.my_budget!SET_CYCLE_START_ACTION(
  SYSTEM$REFERENCE('PROCEDURE', 'code_db.sch1.reset_resources(STRING, STRING)'),
  ARRAY_CONSTRUCT('admin@example.com', 'Budget cycle restarted'));

enable_access 存储过程与 budget_db.sch1.my_budget 预算关联,以便在预算周期重新启动时调用:

CALL budget_db.sch1.my_budget!SET_CYCLE_START_ACTION(
  SYSTEM$REFERENCE('PROCEDURE', 'code_db.sch1.enable_access(STRING)'),
  ARRAY_CONSTRUCT('Re-enable resources for new budget cycle'));