<budget_name>!ADD_RESOURCE

Adicione um objeto a um orçamento personalizado. O objeto deve ser adicionado por referência.

Consulte também:

<budget_name>!REMOVE_RESOURCE, <budget_name>!GET_LINKED_RESOURCES

Sintaxe

<budget_name>!ADD_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 adicionado ao 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 Como adicionar um Snowflake Native App a um orçamento.

Retornos

Retorna um valor VARCHAR que indica se o objeto foi ou não adicionado com êxito ao orçamento. Por exemplo:

Successfully added resource to resource group

Se o objeto não puder ser adicionado ao 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 são necessários para chamar esse método para 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 que está sendo adicionado (para objetos de esquema).

  • privilégio APPLYBUDGET no objeto sendo adicionado.

Para obter mais informações, consulte Funções e privilégios do Budgets.

Notas de uso

  • Você só pode adicionar objetos a orçamentos personalizados.

  • Você só pode adicionar um objeto a um orçamento personalizado. Se um objeto estiver atualmente incluído em um orçamento personalizado e você adicionar esse objeto a um segundo orçamento personalizado, o Budgets removerá o objeto do primeiro orçamento personalizado sem emitir um aviso.

  • Você não pode criar uma referência para o banco de dados SNOWFLAKE e não pode adicioná-lo a um orçamento.

  • 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 adicionar um objeto a um orçamento personalizado:

Como adicionar uma tabela a 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 adicionar a tabela t1 ao orçamento budget_db.budget_schema.my_budget:

    CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
      'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
    
    Copy
  • O exemplo a seguir adiciona a tabela t2 ao 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!ADD_RESOURCE(
      SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
    
    Copy

Como adicionar um Snowflake Native App a um orçamento

O exemplo a seguir adiciona o aplicativo my_app ao 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!ADD_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.