Categorias:

Funções de contexto (Sessão)

GETVARIABLE

Retorna o valor associado a um nome de variável SQL.

Consulte também:

Funções das variáveis de sessão

Sintaxe

GETVARIABLE( '<name>' )
Copy

Argumentos

name

O nome da variável SQL.

Você deve especificar o nome em letras maiúsculas, mesmo que tenha usado letras minúsculas ao definir a variável.

Retornos

O tipo de dados do valor de retorno é VARCHAR.

Notas de uso

Esta função usa o cache de resultados da sessão atual se você chamar a função mais de uma vez na mesma sessão. O cache de resultados se aplica onde quer que você chame essa função, incluindo o corpo dos objetos de política, como uma política de acesso a linhas.

Exemplos

Este exemplo mostra como usar esta função e outras formas de obter o valor da variável:

SET MY_LOCAL_VARIABLE= 'my_local_variable_value';
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
SELECT 
    GETVARIABLE('MY_LOCAL_VARIABLE'), 
    SESSION_CONTEXT('MY_LOCAL_VARIABLE'),
    $MY_LOCAL_VARIABLE;
+----------------------------------+--------------------------------------+-------------------------+
| GETVARIABLE('MY_LOCAL_VARIABLE') | SESSION_CONTEXT('MY_LOCAL_VARIABLE') | $MY_LOCAL_VARIABLE      |
|----------------------------------+--------------------------------------+-------------------------|
| my_local_variable_value          | my_local_variable_value              | my_local_variable_value |
+----------------------------------+--------------------------------------+-------------------------+
Copy

Quando variáveis são criadas com o comando SET, os nomes das variáveis são forçados a ficar todos em letras maiúsculas. As funções GETVARIABLE e SESSION_CONTEXT devem passar a versão maiúscula do nome da função. A notação «$» funciona com nomes de variáveis em letras maiúsculas ou minúsculas.

SET var_2 = 'value_2';
+----------------------------------+
| status                           |
|----------------------------------|
| Statement executed successfully. |
+----------------------------------+
SELECT 
    GETVARIABLE('var_2'),
    GETVARIABLE('VAR_2'),
    SESSION_CONTEXT('var_2'),
    SESSION_CONTEXT('VAR_2'),
    $var_2,
    $VAR_2;
+----------------------+----------------------+--------------------------+--------------------------+---------+---------+
| GETVARIABLE('VAR_2') | GETVARIABLE('VAR_2') | SESSION_CONTEXT('VAR_2') | SESSION_CONTEXT('VAR_2') | $VAR_2  | $VAR_2  |
|----------------------+----------------------+--------------------------+--------------------------+---------+---------|
| NULL                 | value_2              | NULL                     | value_2                  | value_2 | value_2 |
+----------------------+----------------------+--------------------------+--------------------------+---------+---------+
Copy