IS_APPLICATION_ROLE_ACTIVATED
IS_APPLICATION_ROLE_ACTIVATED (SYS_CONTEXT 함수)
지정한 컨텍스트에서 애플리케이션 역할이 활성화되어 있으면 VARCHAR 값 'TRUE'를 반환해요.
본문
구문
SYS_CONTEXT(
'SNOWFLAKE$APPLICATION' ,
'IS_APPLICATION_ROLE_ACTIVATED' ,
'<context>' ,
'<app_role>'
)
인자
'SNOWFLAKE$APPLICATION'
- 함수가 호출된 애플리케이션에 대한 컨텍스트 정보를 반환하는 함수를 호출하고 싶다고 지정해요.
'IS_APPLICATION_ROLE_ACTIVATED'
- IS_APPLICATION_ROLE_ACTIVATED 함수를 호출해요.
'context'
- 확인하려는 실행 컨텍스트를 지정해요. 다음 값 중 하나를 지정할 수 있어요. SESSION: 현재 세션의 기본 또는 보조 역할의 역할 계층에 애플리케이션 역할이 있는지 확인해요. 역할이 역할 계층에 있으면 함수는 'TRUE'를 반환해요. ACTIVE: 현재 호출의 컨텍스트에서 역할 계층에 애플리케이션 역할이 있는지 확인해요. 예를 들어 소유자 권한(owner's rights) 저장 프로시저 호출에서는 프로시저가 소유자 역할로 실행돼요. 애플리케이션 역할이 소유자 역할의 역할 계층에 있으면 함수는 'TRUE'를 반환해요.
'app_role'
- 확인할 애플리케이션 역할을 지정해요. 역할 이름을 애플리케이션 이름으로 한정하지 마세요. 함수는 함수가 호출된 컨텍스트에서 애플리케이션 이름을 자동으로 결정해요.
반환 값
이 함수는 다음 VARCHAR 값 중 하나를 반환해요.
- 애플리케이션 역할이 context가 지정한 컨텍스트에서 활성화되어 있으면 'TRUE'.
- 애플리케이션 역할이 해당 컨텍스트에서 활성화되어 있지 않거나, 애플리케이션 역할이 유효하지 않으면 'FALSE'.
이 반환 값을 BOOLEAN 값 TRUE 또는 FALSE와 비교하려면 반환 값을 BOOLEAN으로 캐스팅하세요. 예를 들어:
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role')::BOOLEAN = TRUE;
2026_06 동작 변경 번들
계정에서 2026_06 동작 변경 번들을 활성화하고 SYS_CONTEXT를 통해 이 함수를 호출하면, VARCHAR 문자열 'TRUE' 또는 'FALSE' 대신 BOOLEAN을 반환해요.
기존 캐스팅(예: ::BOOLEAN 또는 ::NUMBER)은 계속 그대로 동작해요.
네임스페이스별 모든 속성과 함수의 반환 타입은 SYS_CONTEXT return types 문서를 참고하세요.
사용 시 참고 사항
예시
다음 예시는 애플리케이션 역할 my_app_role이 세션의 기본 또는 보조 역할의 역할 계층에 있으면 TRUE를 반환해요.
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role');
더 알아보기
- Context functions — 컨텍스트 함수 모음
- SYS_CONTEXT (SNOWFLAKE$APPLICATION) — 애플리케이션 컨텍스트 정보 반환
- SYS_CONTEXT return types — SYS_CONTEXT 반환 타입