User Defined Functions (UDF)_3
18 Aralık 2016 Pazar
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.