Tablo döndüren fonksiyonlar (inline)




 Arkadaşlar fonksiyonlar ile ilgili ilk  yazımın linkine buradan ulaşabilirsiniz 
Skaler Tanımlı Fonksiyonlar

Tablo döndüren fonksiyonlar (inline)


Bu tip fonksiyonlar viewlere çok benzerler. Bir tek select ifadesi içerir. Bu ifadenin sonucunu 
gösterir. View’den farklı olarak dışarıdan parametre alır.

Genel ifade 
CREATE FUNCTION fonksiyonAdi 
(varsaParametreler)
RETURNS TABLE
AS
RETURN selectİfadesi 
GO

Örnek: 

Tüm müşteri listeleyen bir view oluşturunuz ve bu viewi sorgulayınız

CREATE VIEW vwMusteri AS
SELECT * FROM musteri 

Go

Bu viewi sorgulayalım 

SELECT * FROM vwMusteri

Tüm müşterileri listeleyen bir fonksiyon oluşturunuz ve bu fonksiyonu sorgulayınız

CREATE FUNCTION fnt_Musteri ( )
RETURNS TABLE
AS
RETURN select * from musteri 
Go
Sorgulayalım 

SELECT * FROM fnMusteri()

Tüm müşterileri listeleyen bir stored prosedure oluşturunuz ve bu prosedürü çalıştırınız.
CREATE PROCEDURE spMusteri 
AS
SELECT * FROM musteri 
Go
Çalıştıralım

EXEC spMusteri


3- Tablo döndüren fonksiyonlar (multi statement)

Farkı tek select ifadesi ile yapamayacağımız işlemlerde kullanılır
CREATE FUNCTION fn_MusteriBilgileri
( @MusteriNo int)
RETURNS @donusTablosu TABLE
(
MusteriNo int,
MusteriAdi varchar(30),
MusteriSoyadi Varchar(30),
Grubu char(1)
)
AS
BEGIN
IF(@MusteriNo=1)
SET @MusteriNo=2
INSERT into @donusTablosu(MusteriNo,MusteriAdi,MusteriSoyadi,Grubu)
SELECT * FROM Musteri WHERE mno=@MusteriNo
RETURN
END

GO

0 yorum:

Yorum Gönder

 
© 2014 İrfan Blog ' s | Mehmet İrfan ErdoğanTüm Hakları Saklıdır | r