02.03.2010 00:07:22

T-SQL'de Değişkenler İle İşlemler Yapmak

 

Değişken =Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Diğer bir deyişle; Değişken programlama yaparken, değeri daha sonra akışlara göre veya dışarıdan gelen değerlere göre değişecek bir nitelik için hafızada (RAM’ de) bir yer ayırma maksatlı kullanılan yapıdır. Hafızadaki bu değere daha sonra değişkenin adı ile erişilir ve yeni değer atanabilir. Değişkene atanan her yeni değer eskini siler.

Değişkenleri tanımlarken değişkenimizin adını ve ne türden veriler tutacağını belirtiriz.

T-SQL’de değişken tanımlama şu şekilde gerçekleştirilir:

DECLARE @DegiskenIsmi VeriTipi(boyut)

Bir satırda birden fazla değişken tanımlayacağımız zaman:

DECLARE @DegiskenIsmi1 NVARCHAR(50), DECLARE @DegiskenIsmi2 INT()

şeklinde tanımlarız.

Değişkeni tanımladıktan sonra içerisine veri girmek SET veya SELECT ifadeleri kullanılabilir.

SET @DegiskenIsmi = Deger

Değişkenlerde genelde SET ifadesi ile atama yapılır. Fakat kolaylık sağladığından dolayı SELECT ifadesinin de kullanımını T-SQL destekler.

Ürün tablomuzdaki en yüksek fiyatlı ürünü bulalım ve bir değişkene atayalım.

Şimdi yukarıdaki sorgumuzu kullanarak elde ettiğimiz sonucu bir değişkene attık. Şimdi bu değüişkeni alalım başka bir SELECT sorgusunda WHERE deyiminden sonra kısıt olarak kullanalım.

Bu örneklere benzer başka bir örnek daha:

Aslında tamda bu işlemler için değişken kullanmak şart oluyor bence. Çünkü store procedure lerde bunlara çok ihtiyacımız olacak.

Sql’ de kod yazarken bazı yerlere açıklama satırı eklememiz gerekebilir. Bunun için ya  –- yada   /* */ ifadeleri kullanılır.

Yığın Kavramı ve GO Bölümleyicisi

Sql Server a gönderilen sorguları Sql yığınlar halinde ele alır. GO ifadesi de bu yığınların sonunu belitmek için kullanılır.

T-SQL ifadeleri, GO ifadesi aynı saturda yer alamaz hatta ardından açıklama bile gelmez.

*** Aşağıdaki ifadelere programcılar dikkat etmeli:

·         Stored procedure çağırırken, SP ya yığının ilk komutu olmalıdır veya EXEC komutu ile birlikte kullanılmalıdır.

·         Bir yerel değişkenin etki alanı sorgu yığını ile sınırlıdır.

·         Bir yerde GO denildikten sonra, yeni bir yığın başladığından GO komutundan önce tanımlanan ya da değer atanan değişkenler ve içerikleri kaybedilecektir.

Tablo Tipi Değişkenler Kullanmak

T-SQL’ de dizi tanımlayamıyor olabiliriz fakat diziler ile yapabileciğimiz işlemleri geçici tablolar ile de yapabiliriz. Tablo tipi değişkenler genellikle, çoklu ifade ile tablo döndüren kullanıcı tanımlı fonksiyonlarda kullanılırlar.

Web uygulamalarında, session veya cookie’ de tutulan alışveriş sepetini, gerçek veritabanı ile birlikte sorgulamak gerektiğinde, bu türden bir değişkene atıp bu değişken aracılığıyla birlikte sorgulama yapılabilir.

Tablo tipi değişkenlere bir örnek:

 

Bu konuda daha ayrıntılı bilgiyi sayın Yaşar Gözüdeli hocanın kitabında bulabilirsiniz.

Görüşmek üzere...