카테고리:

컨텍스트 함수 (일반)

IS_APPLICATION_ROLE_ACTIVATED(SYS_CONTEXT 함수)

지정된 컨텍스트에서 애플리케이션 역할이 활성화된 경우 VARCHAR 값 ``’TRUE’``를 반환합니다.

참고 항목:

SYS_CONTEXT(SNOWFLAKE$APPLICATION 네임스페이스)

구문

SYS_CONTEXT(
  'SNOWFLAKE$APPLICATION' ,
  'IS_APPLICATION_ROLE_ACTIVATED' ,
  '<context>' ,
  '<app_role>'
)
Copy

인자

'SNOWFLAKE$APPLICATION'

함수를 호출하여 함수가 호출되는 애플리케이션에 대한 컨텍스트 정보를 반환하도록 지정합니다.

'IS_APPLICATION_ROLE_ACTIVATED'

IS_APPLICATION_ROLE_ACTIVATED 함수를 호출합니다.

'context'

확인할 실행 컨텍스트를 지정합니다. 다음 값 중 하나를 지정할 수 있습니다.

  • SESSION: 애플리케이션 역할이 현재 세션의 기본 또는 보조 역할의 역할 계층 구조에 있는지 확인합니다. 역할이 역할 계층 구조에 있는 경우 함수는 ``’TRUE’``를 반환합니다.

  • ACTIVE: 애플리케이션 역할이 현재 호출의 컨텍스트에서 역할 계층 구조에 있는지 확인합니다.

    예를 들어, 소유자의 권한 저장 프로시저에 대한 호출에서 프로시저는 소유자의 역할에 의해 실행됩니다. 함수는 애플리케이션 역할이 소유자 역할의 역할 계층 구조에 있는 경우 ``’TRUE’``를 반환합니다.

'app_role'

확인할 애플리케이션 역할을 지정합니다.

역할 이름을 애플리케이션 이름으로 한정하지 마세요. 함수는 함수가 호출되는 컨텍스트에서 애플리케이션 이름을 자동으로 결정합니다.

반환

이 함수는 다음 VARCHAR 값 중 하나를 반환합니다.

  • context`에서 지정된 컨텍스트에서 애플리케이션 역할이 활성화된 경우 `’TRUE’``를 반환합니다.

  • 애플리케이션 역할이 해당 컨텍스트에서 활성화되지 않았거나 유효하지 않은 경우 ``’FALSE’``를 반환합니다.

이 반환 값을 BOOLEAN 값 TRUE 또는 FALSE와 비교하려면 반환 값을 :ref:`캐스트<label-data_type_explicit_casting>`하여 BOOLEAN로 반환합니다. 예:

SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role')::BOOLEAN = TRUE;
Copy

사용법 노트

다음 예제에서는 애플리케이션 역할 ``my_app_role``이 세션의 기본 또는 보조 역할의 역할 계층에 있는 경우 ``TRUE``를 반환합니다.

SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role');
Copy