17 Ocak 2017 Salı

CONTINUE Deyimi


Bu komut BREAK komutunun tam tersi durumunu gerçekleştirir.
BREAK komutunun aksine bu komut WHILE yapısının başına gitmeyi sağlar. Bir defaya mahsus CONTINUE komutundan sonraki kısımlar çalıştırılmaz.



Örnek: Döngü değeri 8 olduğunda, 8 değeri dışında kalan tüm değerleri ekrana yazdıralım.


BREAK Deyimi





BREAK komutu, bir döngü içerisinde belirlenen amaca ulaşıldığında döngünün kırılarak sonlandırılmasını sağlamaktadır.
Döngüden çıkıldığında WHILE’ın END’ini takip eden kodlardan program çalışmaya devam eder.

Örnek: 1’den 10’a kadar çalışan bir döngüde 8’e gelindiğinde döngüden çıkmasını sağlayalım.


DECLARE @sayac int
SET @sayac=0
WHILE (@sayac<10)
BEGIN
IF (@sayac=8)
BEGIN
PRINT 'Döngüden çikildi'
BREAK
END
SELECT @sayac=@sayac+1
PRINT @sayac
END

CASE Deyimi





CASE yapısı herhangi bir değişkenin birden fazla durumla karşılaştırmak için kullanılmaktadır. Genel yapısı şöyledir.
CASE
WHEN Şart_ifadesi1 THEN Değer1
WHEN Şart_ifadesi2 THEN Değer2
ELSE Değer3
END



Örnek: bir sınıftaki öğrencilerin not ortalamalarına bakarak “Geçti” yada “Kaldı” şeklinde ekrana listeleyen T-SQL cümleciği şöyle olacaktır.

IF-ELSE Deyimi

Yani bir yada daha fazla şartın doğru olması halinde farklı bir işlem yada yanlış olması halinde başka işlemin yapılmasını sağlamaktadırlar.


IF – ELSE karar yapısı diğer programlama dillerinden de hatırlanacağı gibi gelen değer yada değerlere göre bir kararın verilmesini sağlayan bir yapıdır. Bu yapının T-SQL deki genel kullanım biçimi şöyledir.
IF (şartlar)
   BEGIN
           Komutlar1
    END
ELSE
    BEGIN
        Komutlar2
    END



Örnek: Öğrencilerin vize not ortalamaları 50 den büyük ise “sınıfın durumu iyi”, düşük ise “sınıfın durumu kötü” olarak uyarı veren bir T-SQL programı yazalım.



T-SQL ile Yığın İşlemleri



Yığın, belli sorguların arka arkaya yapılması anlamına gelmektedir.
SQL Server, arka arkaya gelen sorguları yığın olarak ele almaktadır.
Herhangi bir yığının sonunu belirlemek için GO komutu kullanılmaktadır.
SQL Server’da bir yığın çalışmaya başlamadan önce ayrıştırılır (parse edilir). Daha sonra ayrıştırılan bu sorgular derlenerek çalıştırılır. 


Genel kullanım biçimi şöyledir:
Komutlar
GO
Komutlar
GO
…. 


T-SQL’ de Kontrol Deyimleri

Diğer programlama dillerinde olan ve T-SQL’de yer alan bu kontrol deyimleri şunlardır:
IF… ELSE Yapısı
CASE Yapısı
WHILE Döngüsü
Bu üç yapı yapılan SQL sorgusunun herhangi bir noktasında bazı değerlerin kontrol edilerek çalıştırılmasını sağlamaktadırlar.

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.

16 Ocak 2017 Pazartesi

WHILE Döngüsü


Döngüler bir işlemde tekrar gerektiren durumlarda kullanılmaktadır. Döngüler belirlenen şart sağlanıncaya kadar işlemin yapılmasını sağlamaktadır. Diğer dillerde olduğu gibi T-SQL içerisinde de tekrarlı işlemler için bir döngü mevcuttur.
Bu döngünün genel yapısı aşağıdaki gibidir.
WHILE Şart
BEGIN
Tekrar gerektiren kodlar
………
END

Örnek1: Basit bir döngü yazarak 10’a kadar sayı saydıralım.