2007-01-03

User Defined Function


/*
Mevcut SQL fonksiyonları bize yetmediğinde kendi fonksiyonlarımızı yazarız. İhtiyaç duyduğunuz herhangi bir durum ve anda kullanabilirsiniz.

SP'lerin parametrelere değer atabilmelerine ve veri kümesi üretebilmelerine karşın fonksiyonlar hem değer döndürürler, hem SQL kodlarından kayıt kümesi üretirler, hem de içeride yeni bir kayıt kümesini geçici olarak oluşturup istemciye gönderebilirler. Bununla birlikte SP'ler fonksiyonların aksine bir değişkeni içeride değiştirip geri gönderebilirler.


Bir User Defined Function syntaxı aşağıdaki gibidir:
*/

/*
CREATE Fonksiyon_Adi(Giris_Parametreleri)
RETURNS Donus_Degeri
[WITH ]
AS
BEGIN
Fonksiyonun_Govdesi
RETURN Donus_Deyimi
END




Örnek vermek gerekirse Tarih bilgisindeki ayiraçlari istediğimiz gibi yapmak için aşağıdaki fonksiyonu kullanabiliriz:
*/

CREATE FUNCTION TarihFormati (@Tarih datetime, @Ayirac char(1))
RETURNS varchar(20)
AS
BEGIN
RETURN CONVERT(varchar(20),datepart(dd,@Tarih)) + @Ayirac + CONVERT(varchar(20),datepart(mm,@Tarih)) + @Ayirac + CONVERT(varchar(20),datepart(yy,@Tarih))
END




--Fonksiyonu oluşturduktan sonra aşağıdaki ifade ile sonucunu görebilirsiniz:
SELECTdbo.TarihFormati(GETDATE(),':')




/*
Sonuç: 9:1:2005 olur.
Fonsiyonu her yerden kullanabilirsiniz.Burda unutmamanız gereken nokta çağırdığınız yerde fonksiyonun owner ını yazmanız gerektiği. Yukarıda görüldüğü gibi ben dbo kullandım.
*/

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2024 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.