<budget_name>!ADD_RESOURCE¶
사용자 지정 예산 에 오브젝트를 추가합니다. 오브젝트는 참조 로 추가해야 합니다.
구문¶
<budget_name>!ADD_RESOURCE( { '<object_reference>' | <reference_statement> } )
인자¶
'object_reference'
오브젝트로 확인되는 직렬화된 문자열 표현입니다. 이 문자열은 SYSTEM$REFERENCE 함수의 출력입니다.
reference_statement
예산에 추가할 오브젝트에 대한 참조를 생성하는 SYSTEM$REFERENCE 문입니다.
반환¶
Successfully added resource to resource group
액세스 제어 요구 사항¶
사용자 지정 예산에 대해 이 메서드를 호출하려면 다음 권한과 역할이 필요합니다.
예산 인스턴스에 대해 ADMIN 인스턴스 역할 을 가진 역할.
예산 인스턴스가 포함된 데이터베이스와 스키마에 대한 USAGE 권한이 부여된 역할.
오브젝트에 대한 APPLYBUDGET 권한이 추가되는 역할.
사용법 노트¶
사용자 지정 예산 에만 오브젝트를 추가할 수 있습니다.
SNOWFLAKE 데이터베이스에 대한 참조를 생성할 수 없으며 이를 예산에 추가할 수도 없습니다.
예¶
오브젝트에 대한 참조를 생성하고 오브젝트를 예산에 추가합니다.
테이블
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');
SYSTEM$REFERENCE 문을 사용하여 예산에 오브젝트를 추가합니다.
스키마
budget_db.budget_schema
의 예산my_budget
에 테이블t1
을 추가합니다.CALL budget_db.budget_schema.my_budget!ADD_RESOURCE( SELECT SYSTEM$REFERENCE('TABLE', 't2', 'SESSION', 'APPLYBUDGET'));
오류 메시지¶
다음 시나리오는 사용자 지정 예산에 리소스를 추가할 때 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다.
오류 |
Unknown user-defined function <budget_db>.<budget_schema>.ADD_RESOURCE
|
---|---|
원인 |
이 메서드를 호출하는 데 사용한 역할에는 ADMIN 인스턴스 역할이 없습니다. |
해결책 |
예산에 오브젝트를 추가하는 데 필요한 역할과 권한이 있는 역할을 사용하십시오. 액세스 제어 요구 사항 을 참조하십시오. |
오류 |
002003 (02000): SQL compilation error:
<object_type> '<object_name>' does not exist or not authorized.
|
---|---|
원인 |
이 메서드를 호출하는 데 사용한 역할에는 예산에 추가하려는 오브젝트에 대한 APPLYBUDGET 권한이 없습니다. |
해결책 |
예산에 오브젝트를 추가하는 데 필요한 역할과 권한이 있는 역할을 사용하십시오. 액세스 제어 요구 사항 을 참조하십시오. |
오류 |
Uncaught exception of type 'EXPRESSION_ERROR' on line 10 at position 21 :
Privilege 'APPLYBUDGET' is not authorized on the reference object.
|
---|---|
원인 |
SYSTEM$REFERENCE 문에 PRIVILEGE 매개 변수를 지정하지 않고 오브젝트에 대한 참조를 생성하려고 했습니다. |
해결책 |
오브젝트에 대한 APPLYBUDGET 권한으로 참조를 생성하십시오. |
오류 |
505001 (55000): Uncaught exception of type 'EXPRESSION_ERROR' on line 10
at position 21 : Specified object does not exist or not authorized for
the reference.
|
---|---|
원인 |
인라인 SYSTEM$REFERENCE 문을 사용하여 사용자 지정 예산에 SNOWFLAKE 데이터베이스를 추가하려고 했습니다. |
해결책 |
SNOWFLAKE 데이터베이스를 예산에 추가할 수 없습니다. 위의 사용법 노트 를 참조하십시오. |