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

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_statement

Uma instrução SYSTEM$REFERENCE que cria uma referência para o procedimento a ser associado ao orçamento.

array_of_arguments

Matriz de argumentos a serem passados ​​para o procedimento armazenado.

array_construct_statement

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

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