<budget_name>!ADD_RESOURCE¶
사용자 지정 예산 에 오브젝트를 추가합니다. 오브젝트는 참조 로 추가해야 합니다.
구문¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
인자¶
'object_reference'
오브젝트로 확인되는 직렬화된 문자열 표현입니다. 이 문자열은 SYSTEM$REFERENCE 함수의 출력입니다.
reference_statement
예산에 추가할 오브젝트에 대한 참조를 생성하는 SYSTEM$REFERENCE 문입니다.
참고
예산에 Snowflake Native App 을 추가하려면 SYSTEM$REFERENCE 를 호출할 때 object_type
인자에 'APPLICATION'
이 아닌 'DATABASE'
를 지정하십시오.
예산에 Snowflake Native App 추가하기 섹션을 참조하십시오.
반환¶
오브젝트가 예산에 성공적으로 추가되었는지 여부를 나타내는 VARCHAR 값을 반환합니다. 예:
Successfully added resource to resource group
오브젝트를 예산에 추가할 수 없는 경우 이 함수는 오류 메시지를 반환합니다. 사용자 지정 예산에서 오브젝트를 추가하거나 제거할 수 없습니다. 섹션을 참조하십시오.
액세스 제어 요구 사항¶
사용자 지정 예산에 대해 이 메서드를 호출하려면 다음 권한과 역할이 필요합니다.
예산 인스턴스에 대한 ADMIN 인스턴스 역할.
예산 인스턴스가 포함된 데이터베이스와 스키마에 대한 USAGE 권한.
추가 중인 오브젝트가 포함된 데이터베이스 및 스키마에 대한 USAGE 권한(스키마 오브젝트의 경우).
추가 중인 오브젝트에 대한 APPLYBUDGET 권한.
자세한 내용은 예산 역할 및 권한 섹션을 참조하십시오.
사용법 노트¶
사용자 지정 예산 에만 오브젝트를 추가할 수 있습니다.
사용자 지정 예산에는 하나의 오브젝트만 추가할 수 있습니다. 오브젝트가 현재 하나의 사용자 지정 예산에 포함되어 있는데 해당 오브젝트를 두 번째 사용자 지정 예산에 추가하면 Budgets는 경고 없이 첫 번째 사용자 지정 예산에서 해당 오브젝트를 제거합니다.
SNOWFLAKE 데이터베이스에 대한 참조를 생성할 수 없으며 이를 예산에 추가할 수도 없습니다.
이 메서드를 호출해도 오브젝트는 반환되지 않습니다. 이로 인해, 메서드 연결을 사용하여 이 메서드의 반환값으로 다른 메서드를 호출할 수 없습니다. 대신, 별도의 SQL 문에서 각 메서드를 호출합니다.
예¶
다음 예는 사용자 지정 예산에 오브젝트를 추가하는 방법을 보여줍니다.
예산에 테이블 추가하기¶
다음 예제는
t1
테이블에 대한 참조를 만들고 반환합니다.SELECT SYSTEM$REFERENCE('TABLE', 't1', 'SESSION', 'APPLYBUDGET');
이 문은 출력의 참조를 반환합니다.
ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7
다음 문은 이 참조에 대한 문열 리터럴을 사용하여
budget_db.budget_schema.my_budget
예산에t1
테이블을 추가합니다.CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( 'ENT_REF_TABLE_5862683050074_5AEB8D58FB3ACF249F2E35F365A9357C46BB00D7');
다음 예제에서는 SQL 문을 사용하여 참조를 지정해
budget_db.budget_schema.my_budget
예산에t2
테이블을 추가합니다.CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
예산에 Snowflake Native App 추가하기¶
다음 예제는 budget_db.budget_schema.my_budget
예산에 my_app
애플리케이션을 추가하는 예제입니다.
SYSTEM$REFERENCE 를 호출할 때는 object_type
인자에 'APPLICATION'
이 아닌 'DATABASE'
를 전달해야 합니다.
CALL budget_db.budget_schema.my_budget!ADD_RESOURCE(
SELECT SYSTEM$REFERENCE('DATABASE', 'my_app', 'SESSION', 'APPLYBUDGET'));
오류 메시지¶
일반적인 오류 메시지 목록과 원인 및 해결 방법은 사용자 지정 예산에서 오브젝트를 추가하거나 제거할 수 없습니다. 섹션을 참조하십시오.