SYS_CONTEXT(SNOWFLAKE$SESSION_ATTRIBUTES 네임스페이스)
SNOWFLAKE$SESSION_ATTRIBUTES 네임스페이스의 :doc:`set_sys_context`를 사용하여 설정된 사용자 지정 세션 특성을 반환합니다.
사용자 지정 세션 특성은 설정되면 변경할 수 없으며 세션 기간 동안 지속됩니다. 애플리케이션 컨텍스트, 사용자 특성 또는 감사 정보와 같은 세션에 대한 메타데이터를 추적하는 데 유용합니다.
- 참고 항목:
SYS_CONTEXT ,
SET_SYS_CONTEXT
구문
SYS_CONTEXT(
'SNOWFLAKE$SESSION_ATTRIBUTES' ,
'<key>'
)
인자
'SNOWFLAKE$SESSION_ATTRIBUTES'사용자 지정 세션 특성을 검색하도록 지정합니다.
'key'검색할 사용자 지정 특성의 이름입니다. 특성 이름은 **대/소문자를 구분**합니다.
반환
이 함수는 VARCHAR 값을 반환합니다.
액세스 제어 요구 사항
사용자 지정 세션 속성을 검색하는 데에는 특별한 권한이 필요하지 않습니다. 모든 사용자는 자신의 세션에서 특성을 검색할 수 있습니다.
사용법 노트
특성을 검색하기 전에 :doc:`set_sys_context`를 사용하여 설정해야 합니다.
특성 이름은 **대/소문자를 구분**합니다. app_context 및 ``APP_CONTEXT``는 다른 특성으로 처리됩니다.
특성은 세션 범위가 지정되며 다른 세션에는 표시되지 않습니다.
셸에서 큰따옴표로 묶인 문자열에 함수 호출을 지정하는 경우 $ 문자를 백슬래시(\)로 이스케이프하여 ``$session_attributes``이 셸 변수로 해석되지 않습니다.
예
다음 예제에서는 사용자 지정 특성을 설정한 다음 검색합니다.
-- Set a custom session attribute
CALL SET_SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'app_context', 'production');
-- Retrieve the custom attribute
SELECT SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'app_context');
+---------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'app_context') |
|---------------------------------------------------------------|
| production |
+---------------------------------------------------------------+
설정되지 않은 특성을 검색하면 NULL이 반환됩니다.
SELECT SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'nonexistent_attr');
+------------------------------------------------------------------+
| SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'nonexistent_attr') |
|------------------------------------------------------------------|
| NULL |
+------------------------------------------------------------------+
특성 이름은 대/소문자를 구분합니다.
-- Set attributes with different cases
CALL SET_SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'mykey', 'lowercase');
CALL SET_SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'MyKey', 'mixedcase');
CALL SET_SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'MYKEY', 'uppercase');
-- Each is a distinct attribute
SELECT
SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'mykey') AS lower,
SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'MyKey') AS mixed,
SYS_CONTEXT('SNOWFLAKE$SESSION_ATTRIBUTES', 'MYKEY') AS upper;
+-----------+-----------+-----------+
| LOWER | MIXED | UPPER |
|-----------+-----------+-----------|
| lowercase | mixedcase | uppercase |
+-----------+-----------+-----------+