<budget_name>!SET_CYCLE_START_ACTION

Verknüpft eine gespeicherte Prozedur mit einem Budget, sodass die Prozedur aufgerufen wird, wenn der Budgetzyklus neu gestartet wird. Die Prozedur muss über eine Referenz verknüpft werden.

Weitere Informationen dazu finden Sie unter Zyklusstartaktionen für Budgets.

Syntax

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

Argumente

'stored_procedure_reference'

Die Darstellung einer serialisierten Zeichenfolge, die in eine Prozedur aufgelöst wird. Diese Zeichenfolge ist die Ausgabe der Funktion SYSTEM$REFERENCE.

reference_statement

Eine SYSTEM$REFERENCE-Anweisung, die eine Referenz für die mit dem Budget zu verknüpfende Prozedur erzeugt.

array_of_arguments

Array von Argumenten, die an die gespeicherte Prozedur übergeben werden sollen.

array_construct_statement

Eine ARRAY_CONSTRUCT-Anweisung, die ein Array zurückgibt, das aus Null, einem oder mehreren Eingaben aufgebaut ist.

Rückgabewerte

Gibt einen VARCHAR-Wert zurück, der angibt, ob die Prozedur erfolgreich mit dem Budget verknüpft wurde oder nicht.

Wenn die Prozedur nicht mit dem Budget verknüpft werden konnte, gibt die Methode eine Fehlermeldung zurück.

Anforderungen an die Zugriffssteuerung

Die folgenden Berechtigungen und Rollen sind erforderlich, um diese Methode für ein Budget aufzurufen:

  • ADMIN-Instanzrolle für die Budgetinstanz.

  • USAGE-Berechtigung für die Datenbank und das Schema, die die Budgetinstanz enthalten.

  • Die USAGE-Berechtigung für die Datenbank und das Schema, die die gespeicherte Prozedur enthalten.

  • Die USAGE-Berechtigung für die gespeicherte Prozedur.

Weitere Informationen dazu finden Sie unter Rollen und Berechtigungen für Budgets.

Nutzungshinweise

Wenn Sie diese Methode aufrufen, wird das Objekt nicht zurückgegeben. Aus diesem Grund können Sie keine Methodenverkettung verwenden, um eine andere Methode mit dem Rückgabewert dieser Methode aufzurufen. Rufen Sie jede Methode in einer separaten SQL-Anweisung auf.

Beispiele

Verknüpfen Sie die gespeicherte Prozedur reset_resources mit dem Budget budget_db.sch1.my_budget, sodass es aufgerufen wird, wenn der Budgetzyklus neu beginnt:

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

Verknüpfen Sie die gespeicherte Prozedur enable_access mit dem Budget budget_db.sch1.my_budget, sodass es aufgerufen wird, wenn der Budgetzyklus neu beginnt:

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