İlkay Genç

User Defined Function nedir? Türleri nelerdir?

User Defined Function

Kullanıcı Tanımlı Fonksiyonlar(User Defined Function) parametreli parametresiz olarak birçok dilde aslında mevcuttur, biz T-SQL dilindeki fonksiyonlardan bahsedeceğiz, Kullanıcı Tanımlı Fonksiyonlar, SQL fonksiyonları dışında kullanıcılar tarafından oluşturulan ilişkisel veri tabanı nesneleridir. SQL Server 2000 ile birlikte gelen Kullanıcı Tanımlı Fonksiyon oluşturma işlemi, tek bir değer veya tablo döndürmek için kullanılabilir. Bu tür fonksiyonlar CLR (Common Language Runtime – Ortak Dil Çalıştırma Platformu) ya da T-SQL (Transact-SQL) temelli olarak yazılabilir. Fonksiyonlarda tanımlanan bir değişken, fonksiyon içerisinde değiştirilemez yani bütün parametreler oluşturulan fonksiyonda belirtilmek zorundadır. Oluşturulan fonksiyonlara erişmek için SQL Server üzerinde, fonksiyonun tanımlandığı database seçildikten sonra Programmability-> Functions yolu izlenir. Üç çeşit kullanıcı tanımlı fonksiyon vardır;

Tablo Döndüren Fonksiyonlar (Table-valued Functions):
Sayısal değerli fonksiyondan tek farkı döndürdüğü verinin tablo olmasıdır. Viewlerle büyük benzerlikler içerir ancak farklı olarak dışarıdan parametre alabilirler.

CREATE FUNCTION fonksiyonAdi (parametre)
RETURNS Tablo
AS
 Sorgu
GO

Sayısal Değerli Fonksiyonlar (Scalar-Valued Functions):
Tek değer döndüren fonksiyon çeşididir. Bazı durumlarda kullanıcıların tercih ettiği bir tiptir. Tek değer döndürmek ile anlatılmak istenilene GETDATE() sistem fonksiyonu örnek olabilir. GETDATE() fonksiyonu çalıştırıldığında sisteminin zaman ve saatini döndüren yani tek değer döndüren bir sayısal değerli sistem fonksiyonudur.

CREATE FUNCTION fonksiyonAdi(parametre)
RETURNS int
AS
Begin
 Sorgu
 RETURN int
End
Go

Aggregate Fonksiyonlar:
Kullanıcı tanımlı fonksiyonların en az kullanılan türüdür. Sistem fonksiyonları altında da Aggregate fonksiyonları vardır. Min(), Max(), Sum() gibi fonksiyonlar bunlara örnektir. Ancak Sistem Aggregate fonksiyonları yapılacak bir işlem için yeterli değil ise, kullanıcı tanımlı aggregate fonksiyon tanımlanır.

kullanıcı tanımlı fonksiyon oluşturma

Fonksiyon Açıklama
AVG() Ortalama değeri döndürür
COUNT() Satır sayısını döndürür
FIRST() İlk değeri döndürür
LAST() Son değeri döndürür
MAX() En büyük değeri döndürür
MIN() En küçük değeri döndürür
ROUND() Sayısal bir alanı belirtilen ondalık sayıya yuvarlar
SUM() Toplamı döndürür

 

Yorum Yap