<budget_name>!SET_CYCLE_START_ACTION

예산 주기가 다시 시작될 때 프로시저가 호출되도록 저장 프로시저를 예산과 연결합니다. 프로시저는 :doc:`참조 </sql-reference/references>`로 연결되어야 합니다.

자세한 내용은 예산에 대한 주기 시작 작업 섹션을 참조하십시오.

구문

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

인자

'stored_procedure_reference'

프로시저로 확인되는 직렬화된 문자열 표현입니다. 이 문자열은 SYSTEM$REFERENCE 함수의 출력입니다.

reference_statement

예산과 연결할 프로시저에 대한 참조를 생성하는 SYSTEM$REFERENCE 문입니다.

array_of_arguments

저장 프로시저에 전달할 인자의 배열입니다.

array_construct_statement

0개, 1개 또는 그 이상의 입력으로 생성된 배열을 반환하는 ARRAY_CONSTRUCT 문입니다.

반환

프로시저가 예산과 성공적으로 연결되었는지 여부를 나타내는 VARCHAR 값을 반환합니다.

프로시저를 예산과 연결할 수 없는 경우 메서드는 오류 메시지를 반환합니다.

액세스 제어 요구 사항

예산에 대해 이 메서드를 호출하려면 다음 권한과 역할이 필요합니다.

  • 예산 인스턴스에 대한 ADMIN 인스턴스 역할.

  • 예산 인스턴스가 포함된 데이터베이스와 스키마에 대한 USAGE 권한.

  • 저장 프로시저가 포함된 데이터베이스 및 스키마에 대한 USAGE 권한.

  • 저장 프로시저에 대한 USAGE 권한.

자세한 내용은 예산 역할 및 권한 섹션을 참조하십시오.

사용법 노트

이 메서드를 호출해도 오브젝트는 반환되지 않습니다. 이로 인해, 메서드 연결을 사용하여 이 메서드의 반환값으로 다른 메서드를 호출할 수 없습니다. 대신, 별도의 SQL 문에서 각 메서드를 호출합니다.

예산 주기가 다시 시작될 때 프로시저가 호출되도록 reset_resources 저장 프로시저를 budget_db.sch1.my_budget 예산과 연결합니다.

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

예산 주기가 다시 시작될 때 프로시저가 호출되도록 enable_access 저장 프로시저를 budget_db.sch1.my_budget 예산과 연결합니다.

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