Kullanıcı Tanımlı Fonksiyonlar

SQL Server içersinde SUM, COUNT, AVG gibi standart tanımlı hazır fonksiyonlar vardır. Bu fonksiyonlar dışında kullanıcılar kendi ihtiyaçları doğrultusunda fonksiyonlar yazabilirler. Farklı fonksiyon türleri vardır. Bunları inceleyelim.

Geriye Tek Değer Döndüren(Scalar Values) Fonksiyonlar

Geriye tek değer döndüren fonksiyonlara örnek olarak GETDATE() fonksiyonu verebiliriz. Geriye sadece tarih bilgisini döndürür.

FONKSIYON_ISMI: Oluşturulacak fonksiyonun ismini belirtir. Aynı isme sahip ikinci fonksiyon olamaz.

@PARAMETRE: Fonksiyona dışarıdan gelecek değerleri belirler. @ işareti ile başlamak zorundadır.

VERI_TIPI: Parametreler için kullanılacak veri tipini belirler

DEFAULT: Parametreler için kullanılacak varsayılan değerlerdir.

READONLY: Fonksiyonlara gelen değerlerin fonksiyon içerisinde değiştirilmesini önlemek için kullanılır.

RETURNS: Scalar fonksiyondan dönecek değerin veri tipini belirlemek için kullanılır.

WITH: Saklı  yordamlarda olduğu gibi ENCRYPTION gibi seçenekler bulunur. Ayrıca SCHEMABINDING ile tablolarda yapısal değişiklik yapılması engellenir.

SCALAR_DEGER: Fonksiyondan dönecek olan scalar değeri belirler.

Yukarıda ki fonksiyon ile parametre olarak gelen değere göre kayıtlar getirilmşi ve bu değerlerin sayısı HESAP_SAYISI2 adlı bir dğeişkene yollanarak RETURN edilmiştir. En son yapılan SELECT sorgusu ile bu fonksiyon kullanılarak elde edlien değerlerin ekrana yansıması sağlanmıştır.

t-sql-scalar-fonksiyon

Sonucun ekran çıktısı yukarıda ki gibi olmaktadır.

Tablo Sonuçlu(Table Valued) Fonksiyonlar

Geriye bir tablo içeriği döndüren fonksiyonlar tablo sonuçlu fonksiyonlar olarak adlandırılır.

Yukarıda bu tür fonksyionların kullanım şekli verilmiştir.

Yukarıda ki fonksiyonda 5000 değerinden küçük bakiyeye sahip hesaplar getirilecektir. Scalar fonksiyonlardan afrklı olarak ilk RETURNS ifadesinde TABLE tipinin aldığını ve ikinci RETURNS ifadesinde select sorgusuyla kayıtların elde edildiğini ve bunların döndürüldüğünü dikkat edelim. Fonksiyonu çağırmak için kullanılan en son select sorgusunda ise FROM ifadesinden sonra tablo adı yerine fonksiyonun adı yazılmıştır.

t-sql-tablo-sonuclu-fonksiyonlar

Ekran çıktısı yukarıda ki gibidir.

Çoklu İfade ile Tablo Sonuçlu(Multistatement Table-Valued) Fonksiyonlar

Geri döndürülecek tablo sonucu, fonksiyon içerisinde istenilen şekilde düzenlenebilen fonksiyonlara denir.

Yukarıda bu tür fonksyionların kullanım şekli verilmiştir.

Yukarıda ki fonksiyon ile yeni bir tablo gösterimi sağlanmaktadır. BAKIYE bilgisi 5000 altında olan fonksiyonlar %50 oranında arttırılarak yeni bir tablo olarak sunulmaktadır. Diğer fonksiyon çeşitlerinden farklı olarak ilk RETURNS de tablo değişkeni adı ve sonrasında tabloya değer alanlar tnaımlanmıştır. Son RETURN ifadesinin yanına herhangi bir değişken veya select ifadesi yazılmamıştır. İşlemin ekran çıktısı aşağıda ki gibidir.

t-sql-coklu-tablo-fonksiyonlari

 


Yazılıma olan tutkusu için Trakya Üniversitesi - Bilgisayar Teknolojisi ve Bilişim Sistemleri öğrencisi, bölüm temsilcisi ve Keşan Yusuf Çapraz Uygulamalı Bilimler Yüksekokulu okul temsilcisi olarak öğrenimini 2016'da tamamladı. Junior Java Developer olarak aktif iş hayatına devam etmektedir.

Yazıyı Paylaş

Related Articles

Bir Yanıt “Kullanıcı Tanımlı Fonksiyonlar”

  1. mehmet dedi ki:

    Teşekkürler başkan.

Yorum Yaz

© 2019 Onur Arslan. Tüm Hakları Saklıdır. · RSS Yazıları · RSS Yorumları