Fonksiyonların procedurelerden farkı geriye değer döndürülebiliyor olmasıdır. ve aslında diğer veritabanı sistemlerinde procedurelerde bir sorgu sonucunu rahatlıkla yazdırılabiliyor iken, postgresql yapısında procedurelerde sadece ekrana bilgi olarak veriyi yazdırabiliyoruz. Postgresql veri tabanında bir sorgu sonucundaki bir listeyi ekrana yazan procedure yerine fonksiyon kullanabiliyoruz. Diğer veri tabanı sistemlerinde daha cok procedure yapılarını kullanırken, postgresql veri tabanı bu yoğun kullanımı fonksiyon üzerine yoğunlaştırmış durumda. Burada basit bir kaç fonksiyon yazdıktan sonra sorgu sonucunda liste olarak dönen fonksiyonlara da örnek vermiş olalım.
Temel YAPI:
create function fonksiyon_ismi(parametre parmetre_turu)
returns geri_donen deger_turu
language plpgsql
as $$
declare
fonksiyon içinde kullanılacak değişkenlerin tanımlanması
begin
---- fonksiyon işlemleri
return geri_dönen_değişken
end $$;
ÖRNEK: Yariçapı verilen dairenin alanını hesaplayan fonksiyon
returns float
language plpgsql
as $$
declare
alan float;
begin
alan:= round(power(yaricap,2)*pi());
return alan;
end $$;
NOT: sql serverda döngü break ile kırılırken burada exit ile kırılır.
Hiç yorum yok:
Yorum Gönder