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