Yanıtlar:
Tablo değerli işlevlerin iki çeşidi vardır. Yalnızca bir select ifadesi olan ve bir select ifadesinden daha fazla satıra sahip olabilen biri.
Bunun bir değişkeni olamaz:
create function Func() returns table
as
return
select 10 as ColName
Bunun yerine şunu yapmalısın:
create function Func()
returns @T table(ColName int)
as
begin
declare @Var int
set @Var = 10
insert into @T(ColName) values (@Var)
return
end
VIEW
oysa bir MSTVF daha çok opak bir saklı yordam gibi davranır (gerçi zincir dişlilerine kıyasla kendi avantajları vardır). Satır içi işlevler, MSTVF'ye tercih edilmelidir. Ara değerleri hesaplamanız ve saklamanız gerekiyorsa (karmaşık bir skaler işlev ifadesinin sonucu gibi), bir alt sorgu kullanın.