SYS_CONTEXT
SYS_CONTEXT
함수가 호출된 컨텍스트에 대한 정보를 반환해요.
참고 항목:
- SYS_CONTEXT(SNOWFLAKE$APPLICATION 네임스페이스), SYS_CONTEXT(SNOWFLAKE$CURRENT 네임스페이스), SYS_CONTEXT(SNOWFLAKE$ENVIRONMENT 네임스페이스), SYS_CONTEXT(SNOWFLAKE$ORGANIZATION 네임스페이스), SYS_CONTEXT(SNOWFLAKE$ORGANIZATION_SESSION 네임스페이스), SYS_CONTEXT(SNOWFLAKE$SESSION 네임스페이스), SYS_CONTEXT(SNOWFLAKE$SESSION_ATTRIBUTES 네임스페이스)
본문
구문
속성을 검색하기 위한 구문:
SYS_CONTEXT(
'<namespace>' ,
'<property>'
)
함수를 호출하기 위한 구문:
SYS_CONTEXT(
'<namespace>' ,
'<function>' , '<argument>' [ , ... ]
)
인자
'namespace'
- 검색할 속성 또는 호출할 함수의 네임스페이스예요. 다음 네임스페이스 중 하나를 지정할 수 있어요.
| 네임스페이스 | 설명 |
|---|---|
| SNOWFLAKE$APPLICATION | 함수가 호출된 애플리케이션에 대한 컨텍스트를 제공하는 속성과 함수예요. |
| SNOWFLAKE$CURRENT | 현재 실행 컨텍스트에 대한 컨텍스트를 제공하는 속성과 함수예요. 현재 실행 컨텍스트는 owner's rights 실행 파일이나 agent 호출 내부의 세션 컨텍스트와 다를 수 있어요. |
| SNOWFLAKE$ENVIRONMENT | 함수가 호출된 환경에 대한 컨텍스트를 제공하는 속성이에요. 이 속성은 함수를 호출하는 데 사용된 클라이언트, 드라이버 또는 라이브러리, 함수가 호출된 세션과 연결된 계정, 그 계정의 리전에 대한 정보를 포함해요. |
| SNOWFLAKE$ORGANIZATION | 현재 조직에 대한 컨텍스트를 제공하는 함수예요. |
| SNOWFLAKE$ORGANIZATION_SESSION | 현재 계정이 조직에 있을 때 함수가 호출된 세션에 대한 컨텍스트를 제공하는 속성이에요. |
| SNOWFLAKE$SESSION | 함수가 호출된 세션에 대한 컨텍스트를 제공하는 속성과 함수예요. |
| SNOWFLAKE$SESSION_ATTRIBUTES | SET_SYS_CONTEXT를 사용해 현재 세션에 설정된 사용자 지정 키-값 속성이에요. |
'property'
- 검색할 속성의 이름이에요. 지정할 수 있는 속성은 네임스페이스에 따라 달라져요. 지정할 수 있는 속성 목록은 해당 네임스페이스의 문서를 참고해요.
'function'
- 호출할 함수의 이름이에요. 호출할 수 있는 함수는 네임스페이스에 따라 달라져요. 호출할 수 있는 함수 목록은 해당 네임스페이스의 문서를 참고해요.
'argument' [ , ... ]
- 호출할 함수에 전달할 인자들이에요.
반환
이 함수는 검색하는 속성 또는 호출하는 함수에 따라 데이터 타입이 달라지는 값을 반환해요. 대부분의 속성과 함수는 VARCHAR 값이나 NULL을 반환해요.
2026_06 동작 변경 번들
계정에서 2026_06 동작 변경 번들이 활성화되면 SYS_CONTEXT는 항상 VARCHAR를 반환하는 대신 접근하는 속성이나 함수에 맞게 타입이 지정된 값을 반환해요. 다음 속성과 함수는 타입이 지정된 값을 반환해요.
| 네임스페이스 | 속성 또는 함수 | 반환 타입 |
|---|---|---|
| SNOWFLAKE$SESSION | ID | NUMBER |
| SNOWFLAKE$SESSION | IS_ROLE_ACTIVATED | BOOLEAN |
| SNOWFLAKE$CURRENT | IS_ROLE_ACTIVATED | BOOLEAN |
| SNOWFLAKE$CURRENT | IS_AGENT_ACTIVATED | BOOLEAN |
| SNOWFLAKE$APPLICATION | CURRENT_PATCH | NUMBER |
| SNOWFLAKE$APPLICATION | INSTALLED_PATCH | NUMBER |
| SNOWFLAKE$APPLICATION | IS_DEV_MODE | BOOLEAN |
| SNOWFLAKE$APPLICATION | IS_APPLICATION_ROLE_ACTIVATED | BOOLEAN |
| SNOWFLAKE$APPLICATION | IS_CONFIGURATION_SET | BOOLEAN |
| SNOWFLAKE$ORGANIZATION | IS_USER_IMPORTED | BOOLEAN |
| SNOWFLAKE$ORGANIZATION | IS_GROUP_IMPORTED | BOOLEAN |
| SNOWFLAKE$ORGANIZATION | IS_GROUP_ACTIVATED | BOOLEAN |
다른 모든 속성과 함수는 계속 VARCHAR를 반환해요. ::BOOLEAN 또는 ::NUMBER 같은 기존 캐스트는 변경 없이 계속 작동해요.
- 반환 값은 검색하는 속성 또는 호출하는 함수에 따라 달라져요. 해당 네임스페이스의 속성과 함수의 반환 값에 대한 정보는 각 네임스페이스 문서를 참고해요.
- 함수는 다음 경우에 NULL을 반환해요. 함수 호출 컨텍스트 안에서 네임스페이스에 접근할 수 없는 경우. 예를 들어 애플리케이션 코드 밖에서 함수를 호출하면 SNOWFLAKE$APPLICATION 네임스페이스의 속성에 접근하려 할 때 NULL이 반환돼요. 속성의 값 또는 함수 호출의 반환 값이 NULL이거나 존재하지 않는 경우.
SYS_CONTEXT가 VARCHAR를 반환할 때(앞의 참고 사항 참조), 부울 값을 가진 속성과 함수는 문자열 TRUE 또는 FALSE를 반환해요. 이 반환 값을 BOOLEAN 값 TRUE 또는 FALSE와 비교하려면 반환 값을 BOOLEAN으로 캐스팅해요. 예를 들어:
SELECT SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE;
+-----------------------------------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION', 'IS_ROLE_ACTIVATED', 'MY_CUSTOM_ROLE')::BOOLEAN = TRUE |
|-----------------------------------------------------------------------------------------|
| True |
+-----------------------------------------------------------------------------------------+
접근 제어 요구 사항
해당 네임스페이스의 속성과 함수에 대한 접근 제어 요구 사항은 각 네임스페이스 문서를 참고해요.
사용법 참고 사항
해당 네임스페이스의 속성과 함수에 대한 사용법 참고 사항은 각 네임스페이스 문서를 참고해요.
예제
해당 네임스페이스의 속성을 검색하고 함수를 호출하는 예제는 각 네임스페이스 문서를 참고해요.
더 알아보기
- SYS_CONTEXT 컨텍스트 함수 — 세션·환경 컨텍스트 함수 모음