<budget_name>!SET_CYCLE_START_ACTION¶
Associa um procedimento armazenado a um orçamento para que o procedimento seja chamado quando o ciclo orçamentário for reiniciado. O procedimento deve ser associado por referência.
Para obter mais informações, consulte Ações de início de ciclo para orçamentos.
Sintaxe¶
<budget_name>!SET_CYCLE_START_ACTION (
{ '<stored_procedure_reference>' | <reference_statement> },
{ <array_of_arguments> | <array_construct_statement> } )
Argumentos¶
'stored_procedure_reference'A representação de string serializada que resolve um procedimento. Esta cadeia de caracteres é a saída da função SYSTEM$REFERENCE.
reference_statementUma instrução SYSTEM$REFERENCE que cria uma referência para o procedimento a ser associado ao orçamento.
array_of_argumentsMatriz de argumentos a serem passados para o procedimento armazenado.
array_construct_statementUma instrução ARRAY_CONSTRUCT que retorna uma matriz construída a partir de zero, uma ou mais entradas.
Retornos¶
Retorna um valor VARCHAR que indica se o procedimento foi associado com sucesso ao orçamento.
Se o procedimento não puder ser associado ao orçamento, o método retornará uma mensagem de erro.
Requisitos de controle de acesso¶
Os seguintes privilégios e funções são necessários para chamar este método para um orçamento:
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 procedimento armazenado.
Privilégio USAGE no procedimento armazenado.
Para obter mais informações, consulte Funções e privilégios do Budgets.
Notas de uso¶
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¶
Associar o procedimento armazenado reset_resources ao orçamento budget_db.sch1.my_budget para que ele seja chamado quando o ciclo orçamentário for reiniciado:
CALL budget_db.sch1.my_budget!SET_CYCLE_START_ACTION(
SYSTEM$REFERENCE('PROCEDURE', 'code_db.sch1.reset_resources(STRING, STRING)'),
ARRAY_CONSTRUCT('admin@example.com', 'Budget cycle restarted'));
Associar o procedimento armazenado enable_access ao orçamento budget_db.sch1.my_budget para que ele seja chamado quando o ciclo orçamentário for reiniciado:
CALL budget_db.sch1.my_budget!SET_CYCLE_START_ACTION(
SYSTEM$REFERENCE('PROCEDURE', 'code_db.sch1.enable_access(STRING)'),
ARRAY_CONSTRUCT('Re-enable resources for new budget cycle'));