Alper ÇELİK

Bilgisayar Mühendisi

User Defined Functions (UDF)_3

Serinin ilk 2 bölümünde Scalar ve Table fonksiyonları işlemiştik. Bu bölümde ise Multi-Statement Table-Valued Functions konusuyla yolumuza devam ediyoruz.  
 
View ile Stored Procedure birleşimidir dersek yanılmış olmayız..
 
Yazım şekli üzerinden inceleyecek olursak:
 
CREATE FUNCTION fn_GetName()
RETURNS @Table TABLE (Id int, Name nvarchar(20))
AS
BEGIN
 INSERT INTO @Table
 SELECT Id, Name FROM tblCustomer
RETURN
END
 
Multi table Functions'ların oluşturulduktan sonra depolandıkları yer Programmability > Functions > Table-valued Functions seçeneği altındadır.
 
Inline table fonksiyon ile benzerlikleri ve farklılıkları vardır.
 
Farkları:
 
* Inline table fonksiyonlar BEGIN ve END blokları bulundurmazlar ancak Multi Table'lar BEGIN&END bloklarına sahiptirler.
* Inline table fonksiyonlar multi table fonksiyonlara göre daha iyi performans sergilerler. Eğer elinizdeki işi Inline table ile yapabiliyor iseniz bunu tercih etmenizde fayda var..
* Inline table ile bir tabloyu güncelleyebilirsiniz ancak Multi-table kısmında bu mümkün değildir.
 
 

Trigger Serisinin İlk Bölümüne Buradan Ulaşabilirsin

Trigger'lar özelleşmiş bir tür stored prosedürlerdir(SP).