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.
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