Transact-SQL yerel değişkenleri herhangi bir türde sadece bir veri tutabilen nesnelerdir. Bu değişkenler genellikle aşağıdaki amaçlar için kullanılır:
- Bir döngünün ne kadar devam etmesi gerektiğini ya da döngünün ne kadar devam ettiğini hesaplamak için sayaç olarak kullanılır.
- Bir akış ya da kontrol ifadesinde test amaçlı veri tutmak için kullanılabilir.
- Bir tabloya veri kaydetmek amacıyla da kullanılabilir.
Transact-SQL'de bir yerel değişken tanımlamak için "declare" ifadesi kullanılır. Başında @ olacak şekilde değişkene verilecek isim belirlenir. Son olarak değişken türü belirlenir.
Örnek:
DECLARE @sayac int;
Bir değişken tanımlandıktan sonra ilk değeri 'null' olur. Tanımlanan değişkene bir değer atamak için genellikle "set" ifadesi kullanılır.
Örnek:
/*Önce değişken tanımlanır.*/
DECLARE @isim nvarchar(50);
/*Daha sonra "set" ifadesi ile değeri atanır.*/
SET @isim = 'Deneme';
Ayrıca "select" ifadesi ile de değişkene değer atamak da mümkündür; ancak bu şekilde bir değer atanırken dikkat edilmesi gerekir. Eğer "select" ifadesinden sonra birden çok değer dönüyorsa değişkene en sondaki değer atanır. Bu yüzden bir sıralama yapılır ve sıralamadan sonraki ilk değer değişkene atanır.
Örnek:
/*Değer atamak için "select" ifadesi de kullanılabilir.*/
DECLARE @isimIdDegiskeni int;
SELECT @isimIdDegiskeni = isimId FROM isimTablosu ORDER BY isimId DESC
/*Bu ifade, isimTablosu tablosundaki verileri isimId'leri artan şekilde sıraladıktan sonra en üstte gelen veriyi değişkene atar*/