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ı]()