17 Ocak 2017 Salı

T-SQL

T-SQL Kavramı

T-SQL ifadelerinde döngü ve benzeri işlemleri yapmak için herhangi bir derleyiciye ihtiyaç yoktur. Herhangi bir dil öğrenilmeden bile T-SQL kullanarak amaca uygun projeler geliştirmek mümkündür.
T-SQL ile geçmiş haftalarda öğrendiğiniz bütün SQL komutlarını kullanabilirsiniz. Bunların yanında SQL Server içerisinde bulunmayan döngü v.b. işlemlerde T-SQL aracılığı ile yapılabilmektedir.


Değişken Türleri

Değişken en basit tanımı ile bir verinin saklanmasında kullanılan hafıza alanıdır. Değişkene atanan her yeni değer eskini siler.
Bilindiği gibi değişkenler, verilerin bellekte geçici olarak tutulmalarını ve gerektiğinde kullanılmasını sağlayan yapılardır.
T-SQL, diğer programlama dillerinde olduğu gibi değişken tanımlamaya olanak sağlamaktadır.
T-SQL’de tanımlanan değişken diğer programlama dillerinde olduğu gibi herhangi bir veri tipi ile sınırlandırılmıştır ve oluşturulmasının ardından bellekte belli bir yer kaplamaktadır. Ayrıca üzerine veri yazılmasına izin vermekte ve daha sonrada program içerisinden çağrılabilmektedir.

Global değişkenler SQL Server üzerinde birçok işlem hakkında bilgi veren ifadeleri kapsamaktadırlar.
SQL server’da değişkenler ikiye ayrılmaktadır:
Yerel değişkenler
Global değişkenler
Yerel değişkenler, önlerine @ işareti alarak tanımlanırlar.
Örneğin; @Deger 
Global değişkenler ise önlerine @@ işareti alırlar. Fakat bu değişkenler SQL Server tarafından tanımlanmıştır ve kullanıcılar tarafından tanımlanamazlar.
Örneğin; @@CONNECTION

Değişken Tanımlama Kuralları

Değişken tanımlamaları yapılırken her dilde olduğu gibi T-SQL’de de uyulması gereken kurallar vardır. Bu kurallar şunlardır:
Değişkenler _ (altçizgi) ve harf ile başlamalıdır.
Boşluk karakteri veya Türkçe karakterler kullanılmamalıdır.
Değişkenler SQL Server için özel anlamı olan ifadeler ile başlamamalıdır. (örneğin @, @@, #, $ gibi)
SQL komutları değişkenlere isim olarak verilmemelidir.
Örneğin INSERT, UPDATE v.b.
SQL ifadeleri genellikle büyük harfle yazılır fakat küçük harfle de yazılabilir.


Nesne isimleri kısa ve anlaşılır olmalıdır.
Tablolara isim verilirken daha kısa ve anlamlı isimler tercih edilmelidir.
Örneğin TabloUrun yerine tblUrun tercih edilebilir.
Tablolardaki NULL ifadesi hiçbir şey girilmemiş anlamına gelmektedir. Klavyeden SPACE tuşuna basılarak bırakılan boşluk ifadesi ile aynı anlamda değildir.
NULL ifadesi daha önceden değeri bilinmeyen ve bu nedenle boş bırakılan ifadeler için tercih edilmelidir.


T-SQL’de bir değişken tanımlamak için DECLARE komutu kullanılmaktadır.
DECLARE komutunun genel biçimi aşağıdaki gibidir.
DECLARE @Degiskenin_Adi Veri_Tipi
Örnekler:
DECLARE @Adi varchar (20)
DECLARE @Numarasi int
DECLARE @Tarih smalldatetime



T-SQL de araya virgül koyarak birden fazla değişken tanımlamak mümkündür. Böyle bir durumda sadece tek bir DECLARE komutu kullanılmış olmaktadır.

Örnek:
DECLARE @Adi varchar (20), @Numarasi int, @Tarih smalldatetime


Değişkenlere Değer Atama



T-SQL’de değişkenlere değer atamanın 2 yolu vardır:
SET komutu ile değer atama,
SELECT komutu ile değer atama.

Bu iki kullanıma ait örnekler ve genel kullanımları sonraki slaytlarda verilmiştir.


SET komut kullanılarak değer atamanın genel ifadesi aşağıdaki gibidir:
SET @degiskenin_adi = atanan_deger
Örnekler:
SET @Adi = 'Murat'
SET @Numarasi = 110403007
SET @Tarih = '30.11.2011'



SELECT komutu ile de değişkenlere değer atanabilmektedir. Eğer tek başına değişken ile kullanılırsa değişkenin içerisindeki değerin ekrana görüntülenmesini de sağlamaktadır.
Örnek:
DECLARE @Adi varchar (20)
    SELECT @Adi = 'Mehmet'
Böyle bir kullanımda değişkene değer atanabilir fakat ekranda gösterilmemektedir.



SELECT dışında ekrana bilgileri yazmaya yarayan bir diğer T-SQL komutu da PRINT komutudur. PRINT komutu, değişkenlerin değerlerini, ortaya çıkan hataları vb. durumları ekrana yazdırmak için kullanılmaktadır.