SET¶
Inicializa o valor de uma variável de sessão para o resultado de uma expressão SQL.
- Consulte também:
Sintaxe¶
SET <var> = <expr>
SET ( <var> [ , <var> ... ] ) = ( <expr> [ , <expr> ... ] )
Parâmetros¶
var
Especifica o identificador da variável a ser inicializada.
expr
Especifica a expressão SQL para a variável.
Notas de uso¶
O comando oferece suporte à definição de múltiplas variáveis na mesma instrução.
Se o comando executar expressões complexas, pode exigir um warehouse virtual em funcionamento na sessão.
O número de expressões deve corresponder ao número de variáveis a serem inicializadas.
O tamanho da cadeia de caracteres ou das variáveis binárias é limitado a 256 bytes.
O identificador (isto é, nome) para uma variável SQL é limitado a 256 caracteres.
Nomes de variáveis como
CURRENT
ouPUBLIC
são reservados para uso futuro pelo Snowflake e não podem ser usados.
Exemplos¶
Estes dois exemplos utilizam constantes:
SET V1 = 10;
SET V2 = 'example';
Este exemplo define mais de uma variável de cada vez:
SET (V1, V2) = (10, 'example');
Este exemplo define a variável como o valor de uma expressão não trivial que usa uma consulta SQL:
SET id_threshold = (SELECT COUNT(*)/2 FROM table1);
O exemplo a seguir mostra se um comando SET avalia todas as expressões no lado direito do operador de atribuição antes de definir a primeira expressão no lado esquerdo do operador. Observe que o valor da variável chamada “max” é definido com base no valor antigo de “min”, e não no novo valor.
set (min, max) = (40, 70);set (min, max) = (50, 2 * $min); +----------------------------------+ | status | |----------------------------------| | Statement executed successfully. | +----------------------------------+ select $max; +------+ | $MAX | |------| | 80 | +------+