- 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:
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)