<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> } )
Copy

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');
    
    Copy

    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çamento budget_db.budget_schema.my_budget:

    CALL budget_db.budget_schema.my_budget!REMOVE_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • O exemplo a seguir remove a tabela t2 do orçamento budget_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')
    
    Copy

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'));
Copy

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.