Son Haberler
Anasayfa / Yazılım / SQL / Değişkenlerin Fonksiyonlar İle Birlikte Kullanımı

Değişkenlerin Fonksiyonlar İle Birlikte Kullanımı

MS SQL’de bir değişkene değer atamak için fonksiyonlarıda kullanabiliriz. Örneğin herhangi bir sorgu sonucunda veri olarak dönen satırların kaç adet olduğu bilgisini bir değişkene atma ihtiyacı duyabiliriz. Bu gibi durumlarda fonksiyonlardan yararlanırız. Bir kaç örnekle konuya devam edelim. AdventureWorks2012 veri tabanı üzerinde çalışıyorum. MS SQL Server Management Studio ortamında boş bir Query sayfası açtım.

Örneğin iki değişken oluşturalım daha sonra bu iki değişken üzerinde çarpma işlemi yapıp bunun sonucunu da bir üçüncü değişkene aktaralım. Ekrana da sonucu yani 3. değişken değerini yazdıralım.

DECLARE @Sayi1 INT = 3, @Sayi2 INT = 2, @Sayi3 INT;
SET @Sayi3 = @Sayi1 * @Sayi2;
PRINT 'Sayi3 değeri: ' + CONVERT(VARCHAR,@Sayi3);
GO

2013051601

Şimdi bu sefer de iki tane string ifadeyi toplayalım. Bu sefer tek değişken üzerinden toplama yapalım hem onu da görmüş oluruz. Ayrı ayrı da olur ama Bunları toplayıp, bir üçüncü değişkene atalım. Yazdırma işleminde de 3. değişkenin değerini yazdıralım.

DECLARE @AdSoyad NVARCHAR(20);
SET @AdSoyad = 'İsmail ';
SET @AdSoyad += 'GÜRSOY';
PRINT 'String veriler toplamı: ' + @AdSoyad;
GO

2013051602

Şimdi de bir tablo sonucunda dönen satır sayısını bir değere atalım ve daha sonra bu değişkenin değerini yazdıralım. Sorgulamak istediğim tablo Sales.Customer tablosu. Önce bir bakalım kaç satır veri var;

SELECT * FROM Sales.Customer;

2013051603

Görüleceği üzere 19820 satır veri mevcut. Şimdi Count fonksiyonu ile bir sorguda bu verileri sayalım, elde edilen değeri de bir değişken içine atalım. Daha sonra da bu değişken içindeki değeri ekrana yazalım. Bakalım 19820 çıkacak mı?

DECLARE @VeriSatirSayisi INT;
SELECT @VeriSatirSayisi = COUNT (*)
FROM Sales.Customer;
PRINT 'Toplam Satır Sayısı: ' + CAST(@VeriSatirSayisi AS VARCHAR);

2013051604

Görüleceği üzere aynı sonucu elde ettik.

Birde bir tablodan sadece tek bir satır içindeki verilerin kolonlarını toplayarak listelemeyi görelim. Örneğin; Person.Person tablosunda BusinessEntityID değeri 3 olan verinin FirstName, MiddleName ve LastName kolonlarını tek bir değişken içinde toplayıp, bunu daha sonra ekrana yazdıralım. Öncelikle bir bakalım Person.Person tablosunda BusinessEntityID değeri 3 olan veri hangisi?

SELECT FirstName, MiddleName, LastName 
FROM Person.Person WHERE BusinessEntityID = 3;

2013051605

Şimdi bu 3 parça veriyi birleştirerek bir değişkene alalım ve sonra bu değişken içindeki veriyi yazdıralım.

DECLARE @Kisi NVARCHAR(50);
SELECT @Kisi = FirstName + ISNULL(' ' + MiddleName, '') + ' ' + LastName
FROM Person.Person WHERE BusinessEntityID = 3;
PRINT 'Kişi Ad-Soyad: ' + @Kisi;

2013051606

Bir cevap yazın

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