Son Haberler
Anasayfa / Yazılım / SQL / MS SQL’de Değişken Tanımlama

MS SQL’de Değişken Tanımlama

Programlamada değişkenliklere sıklıkla ihtiyaç duyarız. Değişkenler sayesinde bir takım verilerimizi saklayacağımz alanlar oluştururuz, bu değişkenler üzerinde işlemler yapabiliriz. İşte bu gibi ihtiyaçlarımız veritabanı üzerinde de olabilir. MS SQL Server Management Studio ortamında T-SQL kodları ile de değişkenler oluşturabiliriz. Tabi bir değişkeni kullanabilmek için öncelikle onu tanımlamak yani deklare etmek gerekmektedir. SQL 2012’de bir değişken tek satırda tanımlanabilir ve buna değer atanabilir. Daha önceki 2008 öncesi versiyonlarında tanımlama ve değer atama ayrı ayrı yapılıyordu. Değişken tanımlamak için söz dizimi aşağıdaki gibidir :

DECLARE @DegiskenAdı tip[(boyut)] = değer
SET @DegiskenAdı = değer

Burada söz diziminde görüleceği üzere bir değişkene SET ile birlikte değer atanabiliyor, bu aynı zamanda SELECT deyimi ilede mümkün. SET ile aynı anda sadece bir değişkene değer atanabilirken, SELECT ile aynı anda birden fazla değişkene değer atayabilme imkanımız mevcuttur. Dolayısı ile çoklu atama işlemlerinde SELECT kullanmak daha mantıklıdır. Burada tercih bize kalıyor.

Değer atama işleminde aynı zamanda bir srgu içinde bir tablo içinde yer alan bir kolonun yani bir alanın değerini de atayabilmemiz mümkündür. Tabi burada sorgu geriye herhangi bir veri kümesi döndürmeyecek. Şimdi bir kaç sorgu örneği ile değişkenlere veri atama nasıl yapılır örnekleyelim. AdventureWorks2012 veri tabanı üzerinde çalışıyorum, boş bir Query sayfası açtım.

Basit bir atama yapalım.

DECLARE @Sayi INT = 3;
PRINT 'Atadığımız değer';
PRINT @Sayi
SET @Sayi = 5;
PRINT 'Atadığımız değer';
PRINT @Sayi;
GO

2013051405

Burada basit atama işlemi yaptık. Öncelikle sayımızı duyurduk, daha sonra atama işlemleri yaptık. Lokal bir değişken oluşturacağımız için @ ifadesi kullandık.

Şimdi birde çoklu bir şekilde tek satırda değişken atama yapalım.

DECLARE @Ad NVARCHAR(20), @Yas INT;
SELECT @Ad = 'İsmail', @Yas = 31;
PRINT 'İsim:';
PRINT @Ad;
PRINT 'Yaş:';
PRINT @Yas;

2013051406

Şimdi de Person.Person tablosundan BusinessEntityID değeri 3 olan satırın FirstName ve LastName alanlarını değişkenlere atayalım. İki tane atama yapacağım için SELECT kullanmam gerek. Sorgum şöyle olur:

DECLARE @FirstName NVARCHAR(20), @LastName NVARCHAR(20);
SELECT @FirstName = FirstName, @LastName = LastName 
FROM Person.Person WHERE BusinessEntityID = 3;
PRINT 'FirstName Değeri:';
PRINT @FirstName;
PRINT 'LastName Değeri:';
PRINT @LastName;
GO

2013051407

Bir yorum

  1. Kısa, öz ve açıklayıcı olmuş. Anlatımınız için teşekkür ederim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir