select @ local_variable (Transact-sql)

Belirten declare kullanarak oluşturulan belirtilen yerel değişken @local\_variablebelirtilen ifade için ayarlanmalıdır.

Değişkenleri atamak için biz, set kullanmanızı @local\_variableselect yerine @local\_variable. Daha fazla bilgi için bkz: @ local_variable set.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

SELECT { @local_variable { = | += | -= | *= | /= | %= | &= | ^= | |= } expression } [ ,...n ] [ ; ]

Bağımsız değişkenler

  • @local\_variable
    Bir değer atanacak olduğu bildirilen bir değişkendir.

  • =
    Sağ sol değişken değerini atayın.

  • {= | += | -= | *= | /= | %= | &= | ^= | |= }
    Bileşik atama işleci:

    += Ekleyin ve atama

    -= Çıkarma ve atama

    = Çarpın ve atama

    / Bölme ve ata =

    % = Modül ve atama

    &= Bitwise and ve ata

    ^ Bitsel xor = ve atama

    | = Bitwise or ve ata

  • expression
    Herhangi bir geçerli ifade. Bu, skalar alt sorgu içerir.

Açıklamalar

select @ local_variable genellikle değişken tek bir değer döndürmek için kullanılır. Ancak, ne zaman expressionadı sütunu, birden çok değer döndürebilirsiniz. select deyimi birden çok değer döndürürse, değişken döndürülen son değeri atanır.

select deyimi hiçbir satır döndürür değişken bugünkü değerini korur. Eğer expressionsayıl değer, değişken null olarak ayarlanmışsa, döner alt olur.

Bir select deyimi birden çok yerel değişkenleri başlatılamıyor.

[!NOT]

Ayrıca normal sonuç kümesi alma işlemleri gerçekleştirmek için bir değişken atama içeren bir select deyimi kullanılamaz.

Örnekler

A.Tek bir değer dönmek için select @ local_variable kullanma

Aşağıdaki örnekte, değişken @var1atanan Generic Namedeğeri olarak. Sorgu Storetablo için belirtilen değer çünkü hiçbir satır döndürür CustomerIDtablosu yok. Değişken tutar Generic Namedeğer.

USE AdventureWorks2012 ;       
GO       
DECLARE @var1 nvarchar(30);       
SELECT @var1 = 'Generic Name';       
SELECT @var1 = Name       
FROM Sales.Store       
WHERE CustomerID = 1000 ;      
SELECT @var1 AS 'Company Name';

USE AdventureWorks2012 ;       
GO       
DECLARE @var1 nvarchar(30);       
SELECT @var1 = 'Generic Name';       
SELECT @var1 = Name       
FROM Sales.Store       
WHERE CustomerID = 1000 ;      
SELECT @var1 AS 'Company Name';

Sonuç kümesi buradadır.

Company Name

------------------------------

Generic Name

B.select @ local_variable için sonuç kümesi kullanarak null döndürür

Aşağıdaki örnekte, sorgu için bir değer atamak için kullanılan @var1. Değer için istediğinden CustomerIDyok, hiçbir değer ve değişken ayarlanmışsa alt sorgu döndürür NULL.

USE AdventureWorks2012 ; 
GO 
DECLARE @var1 nvarchar(30) 
SELECT @var1 = 'Generic Name' 
SELECT @var1 = (SELECT Name 
FROM Sales.Store 
WHERE CustomerID = 1000) 
SELECT @var1 AS 'Company Name' ;

USE AdventureWorks2012 ; 
GO 
DECLARE @var1 nvarchar(30) 
SELECT @var1 = 'Generic Name' 
SELECT @var1 = (SELECT Name 
FROM Sales.Store 
WHERE CustomerID = 1000) 
SELECT @var1 AS 'Company Name' ;

Sonuç kümesi buradadır.

Company Name

----------------------------

NULL

Ayrıca bkz.

Başvuru

DECLARE @local\_variable (Transact-SQL)

Ifadeler (Transact-sql)

select (Transact-sql)