SYS_CONTEXT
SYS_CONTEXT (SNOWFLAKE$APPLICATION 네임스페이스)
Snowflake Native App 안에서 문이 실행되는 컨텍스트에 대한 정보를 반환해요.
이 함수는 다음 컨텍스트에서 호출할 수 있어요:
- 소유자 권한을 사용하도록 구성되었고 Snowflake Native App 안에 있거나 소유된 저장 프로시저 또는 Streamlit 앱.
- Snowflake Native App이 소유한 UDF, 뷰 또는 정책.
- Snowflake Native App의 공유 데이터 콘텐츠의 일부인 UDF, 뷰 또는 정책.
다른 어떤 컨텍스트에서도 함수는 NULL을 반환해요.
참조: SYS_CONTEXT, SYS_CONTEXT (SNOWFLAKE$ENVIRONMENT 네임스페이스), SYS_CONTEXT (SNOWFLAKE$ORGANIZATION 네임스페이스), SYS_CONTEXT (SNOWFLAKE$ORGANIZATION_SESSION 네임스페이스), SYS_CONTEXT (SNOWFLAKE$SESSION 네임스페이스), IS_APPLICATION_ROLE_ACTIVATED
출처: Snowflake SQL Reference - SYS_CONTEXT (SNOWFLAKE$APPLICATION)
본문
구문
속성 검색 구문:
SYS_CONTEXT( 'SNOWFLAKE$APPLICATION', '<property>' )
함수 호출 구문:
SYS_CONTEXT( 'SNOWFLAKE$APPLICATION', '<function>', '<argument>' [, ... ] )
인자
'SNOWFLAKE$APPLICATION'
함수가 호출되는 애플리케이션에 대한 컨텍스트 정보를 반환하는 속성을 검색하거나 함수를 호출하려는 것을 지정해요.
'
검색하려는 속성의 이름이에요. 다음 속성을 지정할 수 있어요:
| NAME | 애플리케이션의 이름. |
| CURRENT_VERSION | 현재 SQL 문이 실행되는 애플리케이션의 현재 버전. CURRENT_VERSION 속성의 값은 다음 상황에서 INSTALLED_VERSION 속성과 다를 수 있음: SQL 문이 애플리케이션을 새 버전으로 업그레이드하는 설정 스크립트에서 실행되는 경우. 이 경우 CURRENT_VERSION은 새 버전이고 INSTALLED_VERSION은 업그레이드되는 현재 설치 버전임. 업그레이드가 완료되기 전에 시작된 장기 실행 프로시저 또는 쿼리의 경우. 이 경우 CURRENT_VERSION은 프로시저 또는 쿼리가 실행을 시작했을 때의 버전이고 INSTALLED_VERSION은 업그레이드 완료 후의 버전임. |
| CURRENT_PATCH | 현재 SQL 문이 실행되는 애플리케이션의 현재 패치 번호. |
| INSTALLED_VERSION | 현재 SQL 문이 실행되는 애플리케이션의 설치된 버전. |
| INSTALLED_PATCH | 현재 SQL 문이 실행되는 애플리케이션의 설치된 패치 번호. |
| IS_DEV_MODE | 애플리케이션이 개발 모드에 있으면 TRUE, 그렇지 않으면 FALSE. 이 값을 BOOLEAN 값 TRUE 또는 FALSE와 비교하려면 값을 BOOLEAN으로 캐스트해요. 예: SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_DEV_MODE')::BOOLEAN = TRUE; |
'
호출하려는 함수의 이름이에요. 다음 함수를 호출할 수 있어요:
IS_APPLICATION_ROLE_ACTIVATED
'
호출하려는 함수에 전달할 인자들이에요.
반환 값
이 함수는 VARCHAR 값 또는 NULL을 반환해요:
- 반환 값은 검색하는 속성 또는 호출하는 함수에 따라 달라져요.
- 지원되는 컨텍스트 밖에서 SNOWFLAKE$APPLICATION 네임스페이스로 SYS_CONTEXT를 호출하면 NULL을 반환해요.
2026_06 동작 변경 번들
계정에서 2026_06 동작 변경 번들이 활성화되면 CURRENT_PATCH 및 INSTALLED_PATCH 속성은 NUMBER를 반환하고, IS_DEV_MODE 속성과 IS_APPLICATION_ROLE_ACTIVATED 및 IS_CONFIGURATION_SET 함수는 BOOLEAN을 반환해요. 이 네임스페이스의 다른 속성과 함수는 계속 VARCHAR를 반환해요.
::BOOLEAN 또는 ::NUMBER 같은 기존 캐스트는 변경 없이 계속 동작해요.
네임스페이스별 모든 속성과 함수의 반환 타입에 대해서는 SYS_CONTEXT return types를 참고해요.
사용상 주의사항
- 셸에서 큰따옴표로 묶인 문자열에 함수 호출을 지정하는 경우
$문자를 백슬래시(\)로 이스케이프해$APPLICATION이 셸 변수로 해석되지 않도록 해요. 예를 들어 Snowflake CLI를 사용하고 SQL 문을 큰따옴표로 묶인 명령줄 인자로 지정하는 경우:snow sql --query "SELECT SYS_CONTEXT('SNOWFLAKE \$APPLICATION', 'NAME');"
예시
다음 예시는 애플리케이션의 현재 버전을 반환해요:
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'CURRENT_VERSION');
더 알아보기
- Context functions (General) — 컨텍스트 함수 모음
- SYS_CONTEXT (SNOWFLAKE$ENVIRONMENT 네임스페이스) — 환경 네임스페이스