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 네임스페이스)

출처: Snowflake SQL Reference - SYS_CONTEXT

본문

구문

속성을 검색하기 위한 구문:

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                                                                                    |
+-----------------------------------------------------------------------------------------+

접근 제어 요구 사항

해당 네임스페이스의 속성과 함수에 대한 접근 제어 요구 사항은 각 네임스페이스 문서를 참고해요.

사용법 참고 사항

해당 네임스페이스의 속성과 함수에 대한 사용법 참고 사항은 각 네임스페이스 문서를 참고해요.

예제

해당 네임스페이스의 속성을 검색하고 함수를 호출하는 예제는 각 네임스페이스 문서를 참고해요.

더 알아보기