<budget_name> !SET_CYCLE_START_ACTION

Associe une procédure stockée à un budget de sorte que la procédure soit appelée lorsque le cycle budgétaire redémarre. La procédure doit être associée par référence.

Pour plus d’informations, voir Actions de début de cycle pour les budgets.

Syntaxe

<budget_name>!SET_CYCLE_START_ACTION (
  { '<stored_procedure_reference>' | <reference_statement> },
  { <array_of_arguments> | <array_construct_statement> } )
Copy

Arguments

'stored_procedure_reference'

La représentation sérialisée de la chaîne qui se résout en une procédure. Cette chaîne est la sortie de la fonction SYSTEM$REFERENCE.

reference_statement

Une instruction SYSTEM$REFERENCE qui crée une référence pour la procédure à associer au budget.

array_of_arguments

Tableau d’arguments à transmettre à la procédure stockée.

array_construct_statement

Une instruction ARRAY_CONSTRUCT qui renvoie un tableau construit à partir de zéro, une ou plusieurs entrées.

Renvoie

Renvoie une valeur VARCHAR qui indique si la procédure a été correctement associée au budget.

Si la procédure n’a pas pu être associée au budget, la méthode renvoie un message d’erreur.

Exigences en matière de contrôle d’accès

Les privilèges et rôles suivants sont nécessaires pour appeler cette méthode pour un budget :

  • Rôle d’instance ADMIN <label-budgets_instance_roles> pour l’instance de budget.

  • Privilège USAGE sur la base de données et le schéma contenant l’instance de budget.

  • Privilège USAGE sur la base de données et le schéma qui contiennent la procédure stockée.

  • Privilège USAGE sur la procédure stockée.

Pour plus d’informations, voir Rôles et privilèges Budgets.

Notes sur l’utilisation

Le fait d’appeler cette méthode ne renvoie pas l’objet. Pour cette raison, vous ne pouvez pas utiliser le chaînage de méthodes pour appeler une autre méthode sur la valeur de retour de cette méthode. Au lieu de cela, appelez chaque méthode dans une instruction SQL distincte.

Exemples

Associer la procédure stockée reset_resources au budget budget_db.sch1.my_budget de sorte qu’elle soit appelée lorsque le cycle budgétaire redémarre :

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

Associer la procédure stockée enable_access au budget budget_db.sch1.my_budget de sorte qu’elle soit appelée lorsque le cycle budgétaire redémarre :

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