<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> } )
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.
Retornos¶
Successfully added resource to resource group
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:
Uma função com a função de instância ADMIN para a instância de orçamento.
Uma função que recebeu o privilégio USAGE no banco de dados e no esquema que contém a instância de orçamento.
Uma função com o privilégio APPLYBUDGET no objeto a ser adicionado.
Notas de uso¶
Você só pode adicionar objetos a orçamentos personalizados.
Você não pode criar uma referência para o banco de dados SNOWFLAKE e não pode adicioná-lo a um orçamento.
Exemplos¶
Crie uma referência para um objeto e adicione-o a um orçamento.
Crie uma referência para a tabela
t1
:SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
Retorna:
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
Adicione a tabela
t1
ao orçamentomy_budget
no esquemabudget_db.budget_schema
:CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
Adicione um objeto a um orçamento usando uma instrução SYSTEM$REFERENCE.
Adicione a tabela
t1
ao orçamentomy_budget
no esquemabudget_db.budget_schema
:CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
Mensagens de erro¶
Os cenários a seguir podem ajudar você a solucionar problemas que podem ocorrer ao adicionar recursos a um orçamento personalizado.
Erro |
Unknown user-defined function <budget_db>.<budget_schema>.ADD_RESOURCE
|
---|---|
Causa |
A função que você usou para chamar esse método não tem a função de instância ADMIN. |
Solução |
Use uma função que tenha as funções e os privilégios necessários para adicionar objetos ao orçamento. Consulte Requisitos de controle de acesso. |
Erro |
002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.
|
---|---|
Causa |
A função que você usou para chamar esse método não tem o privilégio APPLYBUDGET no objeto que você está tentando adicionar ao orçamento. |
Solução |
Use uma função que tenha as funções e os privilégios necessários para adicionar objetos ao orçamento. Consulte Requisitos de controle de acesso. |
Erro |
Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.
|
---|---|
Causa |
Você tentou criar uma referência para um objeto sem especificar o parâmetro PRIVILEGE na instrução SYSTEM$REFERENCE. |
Solução |
Crie a referência com o privilégio APPLYBUDGET no objeto. |
Erro |
505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.
|
---|---|
Causa |
Você tentou adicionar o banco de dados SNOWFLAKE a um orçamento personalizado com uma instrução SYSTEM$REFERENCE inline. |
Solução |
O banco de dados SNOWFLAKE não pode ser adicionado a um orçamento. Consulte as Notas de uso acima. |