17 Ocak 2017 Salı

Skaler Kullanıcı Tanımlı Fonksiyonlar

Skaler fonksiyonlar, bir işlem neticesinde sadece tek bir değer döndüren fonksiyonlardır.
SQL içerisinde tanımlı birçok skaler fonksiyon vardır.
Matematiksel, karakter, tarih fonksiyonları vb.
Örneğin SELECT GETDATE (l) komutu FROM ifadesi olmadan kullanılabilir. Bu tür yani GETDATE ( )  şeklindeki fonksiyonlar skaler fonksiyonlardır.
Bazı durumlarda kullanıcılarda bu tür fonksiyonlara ihtiyaç duyabilirler. Örneğin yapılan alışveriş neticesinde sepette kaç ürün olduğunu döndüren fonksiyon skaler bir fonksiyondur.

Skaler fonksiyonların genel tanımı şöyledir:
CREATE FUNCTION [sahip-ismi] fonksiyon_adı
(
@parametre_adı veri_türü,
….
)
RETURNS skaler_veri_tipi
AS
BEGIN
SQL_ifadeleri
RETURN skaler_deger veya değişken
END

Örnek: Bir müşteri kodunu girerek müşterinin sepetinde kaç adet ürün olduğunu bulan bir fonksiyon yazalım.




















Yazmış olduğumuz fonksiyona dikkat ettiğimizde RETUNS deyimi ile fonksiyonun integer tipte bir veri döndüreceği anlaşılmaktadır.
@Urun_sayisi olarak bir değişken tanımlandı.
Daha sonra SQL cümlesinde dışarıdan parametre olarak verilen kullanıcıKod bilgisi ile veritabanındaki kullaniciKod bilgisi karşılaştırılarak toplam ürün_sayısı hesaplandı ve @Urun_sayisi değişkenine aktarıldı.
RETURN komutu ile elde edilen bu ürün sayısı dışarıya tek bir değer olarak gönderildi.