Standart SQL ifadelerinde programlamaya yönelik ifadeleri barındırmadığı için projelerde yetersiz kalmaya başlamıştır. Bunun üzerine MS SQL veritabanları için Microsoft ve Sybase tarafından T-SQL, Oracle veribanıları için Oracle firması tarafından PL/SQL geliştirilmiştir.
T-SQL ve PL/SQL sayesinde akış kontroller, değişkenler, fonksyionlar, hata konrolleri gibi programlamaya yönelik ifadeler gelmiştir.
1 |
DECLARE @DEGISKEN_ADI VERITIPI(BOYUT) |
Yukarıda bir değişkenin nasıl tanımlandığını gördük. Değişken tanımlamak için DECLARE ifadesi ardından değişken adı yazılır. Değişken adı yazılırken önünde @ işaretinin olmasına dikkat edilir. Değişkenin veri tipi(int, char, varchar, date vb.) belirlenerek değişken tanımlama adımı tamamlanmış olur.
Değişken İsimlendirme Kuralları
- Türkçe karakter(Ç,ç,Ğ,ğ,ı,İ,Ö,ö,Ş,ş,Ü,ü) ve boşluk kullanılmaz.
- İlk karakteri harf olmak zorundadır. Diğer karakterler harf, rakam, “_” den oluşabilir.
- Büyük küçük harf ayrımı yoktur.
- SQL için kullnaılan ifadeler kullanılamaz.(WHERE, LIKE, OR, AND, NOT vb.)
1 2 |
DECLARE @YAS INT DECLARE @CINSIYET VARCHAR(5) |
Yukarıda int(tamsayı) tipinde SAYI değişkeni ve 5 karaktere kadar izin veren CINSIYET değişkenleri tanımlandı.
1 2 3 4 |
SET @YAS=22 SET @CINSIYET='ERKEK' SELECT @YAS, @CINSIYET |
Değişkenlere değer atanması için yukarıda olduğu gibi SET ifadesi ardından @ işaretiyle beraber değişken adı yazılır ve = işaretinden sonra değer atanır. SAYI değişkenine 22 ve CINSIYET değişkenine ERKEK değeri atandı ve SELECT sorgusuyla bu değerler aşağıda olduğu gibi ekrana yazdırıldı.
Aşağıda en yüksek maaşı tablodan çekip değişkene atayan ve bunu ekrana yazdıran bir örnek bulunmaktadır.
1 2 3 4 5 |
DECLARE @MAX_MAAS MONEY --MONEY tipinde MAX_MAAS değişkeni tanımlandı-- SELECT @MAX_MAAS=MAX(BAKIYE) FROM HESAPLAR --MAX(BAKIYE) ile elde edilen en yüksek BAKIYE bilgeisi MAX_MAAS değişkenine atandı SELECT @MAX_MAAS AS 'En Yüksek Maaş' --MAX_MAAS değişkeni 'En Yüksek Maaş' adı verilen sütunda ekrana yazdırıldı |