Categorias:

Funções de contexto (General)

IS_APPLICATION_ROLE_ACTIVATED (função SYS_CONTEXT)

Retorna o valor VARCHAR 'TRUE' se uma função de aplicativo está ativada no contexto especificado.

Consulte também:

SYS_CONTEXT (namespace SNOWFLAKE$APPLICATION)

Sintaxe

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

Argumentos

'SNOWFLAKE$APPLICATION'

Especifica que você deseja chamar uma função para retornar informações de contexto sobre o aplicativo no qual a função é chamada.

'IS_APPLICATION_ROLE_ACTIVATED'

Chama a função IS_APPLICATION_ROLE_ACTIVATED.

'context'

Especifica o contexto de execução que você deseja verificar. Especifique um dos seguintes valores:

  • SESSION: Verifica se a função do aplicativo está na hierarquia das funções primárias ou secundárias da sessão atual. A função retorna 'TRUE' se a função está na hierarquia de funções.

  • ACTIVE: Verifica se a função do aplicativo está na hierarquia de funções no contexto da chamada atual.

    Por exemplo, em uma chamada para um procedimento armazenado de direitos do proprietário, o procedimento é executado pela função do proprietário. A função retorna 'TRUE' se a função do aplicativo está na hierarquia da função do proprietário.

'app_role'

Especifica a função do aplicativo a ser verificada.

Não qualifique o nome da função com o nome do aplicativo. A função determina automaticamente o nome do aplicativo a partir do contexto no qual a função é chamada.

Retornos

A função retorna um dos seguintes valores VARCHAR:

  • 'TRUE' se a função do aplicativo estiver ativada no contexto especificado por context.

  • 'FALSE' se a função do aplicativo não estiver ativada nesse contexto ou se a função do aplicativo não for válida.

Para comparar esse valor de retorno com o valor BOOLEAN TRUE ou FALSE, converta o valor de retorno para BOOLEAN. Por exemplo:

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

Notas de uso

Exemplos

O exemplo a seguir retorna TRUE se a função do aplicativo my_app_role está na hierarquia das funções primárias ou secundárias da sessão:

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