- Categorias:
Funções de contexto (General)
SYS_CONTEXT (namespace SNOWFLAKE$APPLICATION)¶
Retorna informações sobre o contexto em que uma instrução é executada em um aplicativo Snowflake nativo.
Você pode chamar essa função nos seguintes contextos:
Um procedimento armazenado ou aplicativo Streamlit configurado para usar direitos de proprietário e que está dentro ou pertence a um Snowflake Native App.
Um UDF, exibição ou política que pertence a um Snowflake Native App.
Um UDF, exibição ou política que faz parte do conteúdo de dados compartilhados de um Snowflake Native App.
Em qualquer outro contexto, a função retorna NULL.
- Consulte também:
SYS_CONTEXT , SYS_CONTEXT (namespace SNOWFLAKE$ENVIRONMENT) , SYS_CONTEXT (namespace SNOWFLAKE$ORGANIZATION) , SYS_CONTEXT (namespace SNOWFLAKE$ORGANIZATION_SESSION) , SYS_CONTEXT (namespace SNOWFLAKE$SESSION) , IS_APPLICATION_ROLE_ACTIVATED (função SYS_CONTEXT)
Sintaxe¶
Sintaxe para recuperar propriedades:
SYS_CONTEXT(
'SNOWFLAKE$APPLICATION' ,
'<property>'
)
Sintaxe para chamar funções:
SYS_CONTEXT(
'SNOWFLAKE$APPLICATION' ,
'<function>' , '<argument>' [ , ... ]
)
Argumentos¶
'SNOWFLAKE$APPLICATION'Especifica que você deseja recuperar uma propriedade ou chamar uma função para retornar informações de contexto sobre o aplicativo no qual a função é chamada.
'property'Nome da propriedade que você deseja recuperar. Você pode especificar as seguintes propriedades:
Propriedade
Descrição
NAMENome do aplicativo.
CURRENT_VERSIONVersão atual do aplicativo no qual a instrução SQL atual é executada.
O valor da propriedade
CURRENT_VERSIONpode ser diferente da propriedadeINSTALLED_VERSIONnas seguintes situações:A instrução SQL é executada em um script de configuração :doc:` </developer-guide/native-apps/creating-setup-script>` que atualiza o aplicativo para uma nova versão.
Nesse caso,
CURRENT_VERSIONé a nova versão eINSTALLED_VERSIONé a versão instalada atualmente que está sendo atualizada.Um procedimento ou uma consulta de longa duração iniciou a execução antes da conclusão de uma atualização.
Nesse caso,
CURRENT_VERSIONé a versão quando o procedimento ou consulta iniciou a execução eINSTALLED_VERSIONé a versão após a conclusão da atualização.
CURRENT_PATCHNúmero do patch atual do aplicativo no qual a instrução SQL atual é executada.
INSTALLED_VERSIONVersão instalada do aplicativo no qual a instrução SQL atual é executada.
INSTALLED_PATCHNúmero do patch instalado do aplicativo no qual a instrução SQL atual é executada.
IS_DEV_MODETRUEse o aplicativo estiver em modo de desenvolvimento; caso contrário,FALSE.Para comparar esse valor com o valor BOOLEAN TRUE ou FALSE, converta o valor para BOOLEAN. Por exemplo:
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_DEV_MODE')::BOOLEAN = TRUE;
'function'Nome da função que você deseja chamar. Você pode chamar as seguintes funções:
'argument' [ , ... ]Argumentos a serem passados para a função que você deseja chamar.
Retornos¶
A função retorna um valor VARCHAR ou NULL:
O valor de retorno depende da propriedade que você está recuperando ou da função que você está chamando.
Se você chamar SYS_CONTEXT com o namespace SNOWFLAKE$APPLICATION fora de qualquer um dos contextos aceitos, a função retornará NULL.
Notas de uso¶
Se você estiver especificando a chamada da função em uma cadeia de caracteres entre aspas duplas em um shell, aplique o escape do caractere
$com uma barra invertida (\) para que$APPLICATIONnão seja interpretado como uma variável do shell.Por exemplo, se você estiver usando Snowflake CLI e especificando a instrução SQL como um argumento de linha de comando entre aspas duplas:
snow sql --query "SELECT SYS_CONTEXT('SNOWFLAKE\$APPLICATION', 'NAME');"
Exemplos¶
O exemplo a seguir retorna a versão atual do aplicativo:
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'CURRENT_VERSION');