<budget_name>!REMOVE_RESOURCE¶
语法¶
<budget_name>!REMOVE_RESOURCE( { '<object_reference>' | <reference_statement> } )
实参¶
'object_reference'
解析为对象的序列化字符串表示形式。此字符串是 SYSTEM$REFERENCE 函数的输出。
reference_statement
SYSTEM$REFERENCE 语句,用于为要从预算中移除的对象创建引用。
备注
如果您想在预算中添加 Snowflake Native App,当您调用 SYSTEM$REFERENCE 时,请为 object_type
实参指定 'DATABASE'``(而不是 ``'APPLICATION'
)。
返回¶
返回 VARCHAR 值,用于指明对象是否已成功从预算中移除。例如:
Successfully removed resource from resource group
如果无法从预算中移除对象,该函数将返回一条错误消息。请参阅 您无法在自定义预算中添加或移除对象。
访问控制要求¶
要对 自定义预算 调用此方法,需要具备以下最低权限和角色:
预算实例的 ADMIN 实例角色。
对包含预算实例的数据库和架构的 USAGE 权限。
对包含该对象的数据库和架构的 USAGE 权限(对于架构对象)。
被移除对象的 APPLYBUDGET 权限。
有关更多信息,请参阅 Budgets 角色和权限。
使用说明¶
此方法只能在 自定义预算 实例上调用。
调用此方法不会返回对象。因此,您无法使用方法链来调用此方法返回值上的另一个方法。相反,应在单独 SQL 语句中调用每个方法。
示例¶
以下示例展示了如何从自定义预算中移除对象:
从预算中移除表¶
以下示例创建并返回
t1
表的引用:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
该语句会在输出中返回引用。
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
以下语句使用此引用的字符串字面量从
budget_db.budget_schema.my_budget
预算中移除t1
表:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
以下示例从
budget_db.budget_schema.my_budget
预算中移除t2
表,并使用 SQL 语句指定引用:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET')
从预算中移除 Snowflake Native App¶
以下示例从 budget_db.budget_schema.my_budget
预算中移除 my_app
应用程序。
注意,调用 SYSTEM$REFERENCE 时,必须为 object_type
实参传递 'DATABASE'``(而非 ``'APPLICATION'
)。
CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
错误消息¶
有关常见错误消息及其原因和解决方案的列表,请参阅 您无法在自定义预算中添加或移除对象。