24 Kasım 2012 Cumartesi

57. CONTINUE Komutunun kullanımı

  • Program çalıştığı süreç içinde bazı durumlarda WHILE döngüsü içindeyken END e kadar gidip başa dönmesinden ziyade istediğimiz şartın içinde o an ki döngüsünü bitirmeden başa gönderir ve bir sonraki değer için bloğa girmesini sağlarız.
  • Aşağıdaki örneğimizde sadece karesi çift sayı olan değerlerini yazılması sağlayabiliriz.
ÖRNEK:
DECLARE @Sayi INT
SET @Sayi=1
WHILE (@Sayi<15)
BEGIN
    IF((@Sayi*@Sayi)%2=1)
    BEGIN
        SELECT @Sayi=@Sayi+1
        CONTINUE
    END
    BEGIN
        PRINT CAST(@Sayi AS VARCHAR(5))+' sayısını karesi='+ CAST(@Sayi*@Sayi AS VARCHAR(5))
    END
    SELECT @Sayi=@Sayi+1
END


Ders 58'e Geçebilirsiniz.

23 Kasım 2012 Cuma

56. BREAK Komutunun Kullanımı

  • İstenilen şart yerine getirildiğinde döngüden çıkmak için BREAK komutu kullanılır.
  • Program çalışmasına WHİLE 'ın END satırından sonra devam eder.
  • BREAK komutu performans açısında da önemlidir. 
  • Gereksiz yeri elimizdeki bütün verileri kontrol etmemizi engeller. İstediğimiz dataya ulaştığımız zaman diğerlerini incelemeden döngüden veya listeden çıkmamızı sağlar.
ÖRNEK:
DECLARE @Sayac INT
SET @Sayac=0
WHILE (@Sayac<10)
BEGIN
    SELECT @Sayac=@Sayac+1
    IF(@Sayac*@Sayac>9)
        BEGIN
            PRINT 'Sayı 9 değerini geçti.'
            BREAK
        END
END
PRINT @Sayac

Not: Bu yapıda BEGIN..END lerin kullanımına dikkat edin. T-SQL de bunları düzgün kullanmak önemlidir.

Ders 57' ye geçebilirsiniz.

17 Kasım 2012 Cumartesi

55. WHILE Döngüsünün Kullanımı


  • Tekrar gerektiren işlemlerde istenilen şart sağlanana kadar işlemyapabilmemize imkan verir.
  • While döngüsü ile istediğimiz kadar işlemi tekrarlatabiliriz.
SÖZ DİZİMİ:

WHILE şart
BEGIN
 Tekrarlanması istenilen kod bloğu
END

NOT: Şart gerçekleştiği sürece BEGIN..END arasındaki kod bloğu çalışır.

ÖRNEK:

DECLARE @Sayac TINYINT
SET @Sayac=5
WHILE (@Sayac>0)
BEGIN
    PRINT @Sayac
    SELECT @Sayac=@Sayac-1
END



Not: Örneğimizde @Sayac değerini koşulumuzu sağlayana kadar WHILE döngümüzün içinde tuttuk. Dikkat etmeniz gereken bunu BEGIN..END Bloğu içinde yapmanız.

Önemli Not: Neden BEGIN..END diye sordugumuzda nedenini yokluğundan anlamak daha kalıcı olur diye düşünüyorum. Oda size kalsın. BEGIN.. END'siz ilk döngüsünü bile nasıl bitiremediğini görmelisiniz.:)

Ders 56'ya Geçebilirsiniz.

54. CASE Yapısının Kullanımı

  • Bu yapı SQL'de dallanma olduğu durumlarda bir şartın sağlayabileceği farklı durumları bulmak için kullanılır.
SÖZ DİZİMİ:

CASE koşula girecek değer
     WHEN değer THEN işlem
     WHEN değer THEN işlem
 ELSE işlem
END

ÖRNEK:

 SELECT Name AS İsim,Weight AS Ağırlık,'Durum'=
CASE
    WHEN Weight BETWEEN 1500 AND 2500 THEN 'Büyük'
    WHEN Weight BETWEEN 450 AND 1500 THEN 'Orta'
    WHEN Weight BETWEEN 0 AND 450 THEN 'Küçük'
END
FROM Birds



Not: Birds isimli tablomuza 4 tane yeni Instance ekledik. Bunlara kafamıza göre ağırlık belirleyip sadece case yapısını nasıl kullanabiliriz onu gördük.

Ders 55'e geçebilirsiniz.