<budget_name>!ADD_CUSTOM_ACTION¶
将存储过程与预算关联,以便在预计或实际支出达到指定阈值时调用该过程。该过程必须通过 引用 方式进行关联。
有关更多信息,请参阅 预算的自定义操作。
语法¶
实参¶
'stored_procedure_reference'解析为过程的序列化字符串表示形式。此字符串是 SYSTEM$REFERENCE 函数的输出。
reference_statementSYSTEM$REFERENCE 语句,用于为要与预算关联的过程创建引用。
array_of_arguments要传递给存储过程的实参数组。
array_construct_statementARRAY_CONSTRUCT 语句,返回由零个、一个或多个输入构造的数组。
{ 'ACTUAL' | 'PROJECTED'}控制操作是基于实际支出还是预计支出触发。
'ACTUAL'--- 当实际支出达到threshold时调用存储过程。'PROJECTED--- 当预计支出将达到threshold时调用存储过程。如果省略,默认为
PROJECTED。threshold预算限额的百分比。当 Snowflake 判定实际或预计支出超过此预算限额百分比时,将调用该存储过程。
请指定一个介于 0 到 1,000 之间(含 0 和 1,000)的数字。
返回¶
返回一个 VARCHAR 值,用于指明过程是否已成功与预算相关联。
如果无法将过程与预算关联,该方法将返回一条错误消息。
访问控制要求¶
要为预算调用此方法,需要具备以下权限和角色:
预算实例的 ADMIN 实例角色。
对包含预算实例的数据库和架构的 USAGE 权限。
对包含存储过程的数据库和架构的 USAGE 权限。
对存储过程的 USAGE 权限。
有关更多信息,请参阅 Budgets 角色和权限。
使用说明¶
调用此方法不会返回对象。因此,您无法使用方法链来调用此方法返回值上的另一个方法。相反,应在单独 SQL 语句中调用每个方法。
示例¶
将 alert_team 存储过程与 budget_db.sch1.my_budget 预算相关联,以便在支出预计达到预算限额的 75% 时调用:
将 alert_team 存储过程与 budget_db.sch1.my_budget 预算相关联,以便在支出达到预算限额的 90% 时调用: