• 09/06/2017
  • 2 minutos para ler
    • c
    • r
    • M
    • i
    • M
    • +7

Candidata-se a: ServidorSQL (todas as versões suportadas) Base de dados SQL de Azure Azure SQL Managed Instance Azure Synapse Analytics

Configura uma variável local para o valor de uma expressão.

Para atribuir variáveis, recomendamos que utilize SET @local_variable em vez de SELECT @local_variable.

Convenções de sintaxe Transact-SQL

Sintaxe

SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } 

Nota

Para ver a sintaxe Transact-SQL para o SQL Server 2014 e versões anteriores, veja a documentação das versões anteriores.

Argumentos

@variável_local
É uma variável declarada para a qual deve ser atribuído um valor.

{= | += | | -= | *= | /= | %= | &= | ^= | | | | | }
Atribuir o valor à direita para a variável à esquerda.

Operador de atribuição composta:

>>>Subtrair e atribuir

operador acção
= Atribui à variável a expressão que se segue.
+= Adicionar e atribuir
-=
*= >Multiplicar e atribuir
> >Dividir e atribuir
%= Módulo e atribuir
Bitwise AND e atribuir
^= Bitwise XOR e atribuir
|= Bitwise OR e atribuir

expressão
É qualquer expressão válida. Isto inclui uma subconsulta escalar.

Remarks

SELECT @local_variable é tipicamente usado para retornar um único valor para a variável. Entretanto, quando a expressão é o nome de uma coluna, ela pode retornar múltiplos valores. Se a instrução SELECT retornar mais de um valor, será atribuído à variável o último valor retornado.

Se a instrução SELECT não retornar nenhuma linha, a variável mantém seu valor atual. Se a expressão for uma subconsulta escalar que não retorna nenhum valor, a variável é definida como NULL.

Uma instrução SELECT pode inicializar múltiplas variáveis locais.

Nota

Uma instrução SELECT que contém uma atribuição de variável não pode ser usada para também executar operações típicas de recuperação de conjuntos de resultados.

Exemplos

A. Use SELECT @local_variable para retornar um único valor

No exemplo a seguir, a variável @var1 é atribuída Generic Name como seu valor. A consulta contra a tabela Store não retorna nenhuma linha porque o valor especificado para CustomerID não existe na tabela. A variável retém o valor Generic Name.

Aqui está o resultado definido.

Company Name ------------------------------ Generic Name 

B. Use SELECT @local_variable para retornar null

No exemplo a seguir, uma subconsulta é usada para atribuir um valor a @var1. Como o valor solicitado para CustomerID não existe, a subconsulta não retorna nenhum valor e a variável é definida como NULL.

Aqui está o resultado definido.

Company Name ---------------------------- NULL 

Ver Também

DECLARE @local_variable (Transact-SQL)
Expressions (Transact-SQL)
Compound Operators (Transact-SQL)
SELECT (Transact-SQL)

admin

Deixe uma resposta

O seu endereço de email não será publicado.

lg