<budget_name>!REMOVE_RESOURCE¶
Remova um objeto de um orçamento personalizado. O objeto deve ser removido por referência.
- Consulte também:
<budget_name>!ADD_RESOURCE, <budget_name>!GET_LINKED_RESOURCES
Sintaxe¶
<budget_name>!REMOVE_RESOURCE( { '<object_reference>' | <reference_statement> } )
Argumentos¶
'object_reference'
A representação de cadeia de caracteres serializada que resolve um objeto. Esta cadeia de caracteres é a saída da função SYSTEM$REFERENCE.
reference_statement
Uma instrução SYSTEM$REFERENCE que cria uma referência para o objeto a ser removido do orçamento.
Nota
Se você quiser adicionar um Snowflake Native App a um orçamento, ao chamar SYSTEM$REFERENCE, especifique 'DATABASE'
(não 'APPLICATION'
) para o argumento object_type
.
Consulte Remoção de um Snowflake Native App de um orçamento.
Retornos¶
Retorna um valor VARCHAR que indica se o objeto foi ou não removido com êxito do orçamento. Por exemplo:
Successfully removed resource from resource group
Se o objeto não puder ser removido do orçamento, a função retornará uma mensagem de erro. Consulte Você não pode adicionar ou remover objetos de um orçamento personalizado.
Requisitos de controle de acesso¶
Os seguintes privilégios e funções mínimos são necessários para chamar esse método em um orçamento personalizado:
função de instância ADMIN <label-budgets_instance_roles> para a instância do orçamento.
Privilégio USAGE no banco de dados e no esquema que contém a instância de orçamento.
Privilégio USAGE no banco de dados e esquema que contém o objeto (para objetos de esquema).
Privilégio APPLYBUDGET no objeto sendo removido.
Para obter mais informações, consulte Funções e privilégios do Budgets.
Notas de uso¶
Este método só pode ser chamado em instâncias de orçamento personalizado.
Chamar esse método não retorna o objeto. Por isso, você não pode usar o encadeamento de métodos para chamar outro método no valor de retorno deste método. Em vez disso, chame cada método em uma instrução SQL separada.
Exemplos¶
Os exemplos a seguir demonstram como remover um objeto de um orçamento personalizado:
Remoção de uma tabela de um orçamento¶
O exemplo a seguir cria e retorna uma referência para a tabela
t1
:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
A instrução retorna a referência na saída.
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
A instrução a seguir usa o literal de cadeia de caracteres para essa referência para remover a tabela
t1
do orçamentobudget_db.budget_schema.my_budget
:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
O exemplo a seguir remove a tabela
t2
do orçamentobudget_db.budget_schema.my_budget
, usando uma instrução SQL para especificar a referência:CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET')
Remoção de um Snowflake Native App de um orçamento¶
O exemplo a seguir remove o aplicativo my_app
do orçamento budget_db.budget_schema.my_budget
.
Observe que, ao chamar SYSTEM$REFERENCE, é necessário passar 'DATABASE'
(e não 'APPLICATION'
) para o argumento object_type
.
CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
Mensagens de erro¶
Para obter uma lista de mensagens de erro comuns e suas causas e soluções, consulte Você não pode adicionar ou remover objetos de um orçamento personalizado.