POSTGRESQL'DE KONTROL YAPILARI

Bu yazımızda  IF, CASE ve LOOP kontrol yapılarını göreceğiz. Öncelikle değişken tanımlamaya bakalım. Değişken tanımlandıktan sonra değer ataması yapmak gerekir. Değişken DECLARE ile tanımlanır. DECLARE değişkenin_adı yazılır ardından veri tipi belirtilir ve değer ataması yapılır. DECLARE a integer :=100;
Bir den fazla değişken tanımlaması yapılabilir. Birden fazla değişken tek bir DECLARE ifadesinde tanımlanabilir. BEGIN-END blogları arasında yapılması istenen işlemler gerçekleştirilir. RAISE NOTICE ile ekrana yazdırmak istediğimiz mesajı yazdırabiliriz.

İki farklı değişken tanımlayarak bir örnek yapalım.


IF KOŞULU

If koşulu belli bir şarta göre çalışır, aradığı koşulu bulana kadar çalışır.
























Bir başka senaryo oluşturalım. 200 TL ve üzeri yapılan alışverişler de 2. ürüne %25 indirim uygulayan fonksiyonumuzu oluşturalım.













DÖNGÜ YAPISI

PostgreSQL'de 3 çeşit döngü vardır: LOOP, FOR ve WHILE döngüsü.

LOOP DÖNGÜSÜ

Bazen bir koşul gerçekleşinceye kadar ifadeler bloğu tekrar tekrar çalışır. EXIT ve RETURN deyimleri ile sonlandırılıncaya kadar süresiz tekrarlanan bir döngüdür. 

Fibonacci serisi ile loop döngüsü nasıl oluşturulur öğrenelim.




































WHILE DÖNGÜSÜ

Koşul sağlanmayana kadar döngü bloğu çalışır. 

While döngüsü ile bir sayının faktöriyeli bulan fonksiyonu oluşturalım.  


FOR DÖNGÜSÜ

Bir tamsayı aralığında dönen bir döngü bloğudur. En önemli döngü yapısı FOR döngüsü diyebiliriz. 

Ekrana 1'er 1' er, 1'den 10'a kadar olan bütün sayıları yazdıran for döngüsü oluşturalım.




















Şimdi ise 1'er 1'er azalan for döngüsü oluşturalım.Sayacı azaltmak için REVERSE komutunu kullanmalıyız eğer REVERSE komutunu yazmadığımızda döngümüz otomatik olarak artış gösterecektir.

























1'den 11'e kadar tek sayıların toplamını bulan for döngümüzü oluşturalım.



Şimdi iç içe for yapısı ile çarpım tablosu oluşturalım.





















































Oluşturduğumuz fonksiyonları nasıl sileceğimizi Kullanıcı Tanımlı Fonksiyonlarda görmüştük fakat 2 veya daha fazla argümana sahip olan fonksiyonları silerken veri tiplerini de belirtmeliyiz. Yukarıda oluşturduğumuz 2 parametreye sahip olan ornek_if fonksşyonunu silelim.






Yorumlar