Sql Server’da Tablo Döndüren Fonksiyon

Sql Serverda fonksiyonların birden fazla türü bulunmaktadır , değer döndüren, tablo döndüren , Aggragate Function ve sistem fonksiyonlarıdır ; bu yazıda tablo döndüren fonksiyonun yazılış biçimini göreceksiniz. Doğrudan tabloyu döndürebilirsiniz veya fonksiyon içerisinde temp tablo oluşturarak bu tabloyuda geriye döndürebilirsiniz, ikisininde yazım şekline bakalım.

CREATE FUNCTION [Fonksiyon Adı](@id INT)

RETURNS TABLE

AS RETURN

SELECT * FROM Uyeler WHERE UyeID= @id

Fonksiyon @id int tipinde bir parametre almakta ve üyeler tablosunda UyeID kolonu ile eşleştirilip geriye gelen sonuçlar listelenir ve çalıştırırken normal select sorgusu çekmeniz yeterlidir :

SELECT * FROM dbo.Fonksiyon Adı(1003)

Bu kullanımda var olan tablomuzdaki değerleri geriye döndürdük,

Diğer bir kullanımda fonksiyon içerisinde tablo oluşturup bu talobaya insert işlemi yaparak geriye bu tabloyu döndüren fonksiyon tipidir ;

 

Create Function [Fonksiyon Adı]()
Returns
@MyTempTable Table
(
ID int Not Null,
UyeAciklaması Nvarchar(30) Not Null
)
As
Begin
Insert @MyTempTable  Select ID,Name+’ ‘+LastName From Uyeler
Return
End

Burada ise geriye @MyTempTable adındaki temp tabloyu döndürecektir sorguda Uyeler tablosundaki ID ve Name,LastName alanlarını
@MyTempTable adındaki tablomuza insert ediyoruz geri ye ise bu tablo dönecektir . Kullanımında ise bir fark yoktur.
Select * From dbo.[Fonksiyon Adı]()

Paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.