Jawaban:
Ada dua jenis fungsi nilai tabel. Satu yang hanya pernyataan pilih dan yang bisa memiliki lebih banyak baris daripada hanya pernyataan pilih.
Ini tidak boleh memiliki variabel:
create function Func() returns table
as
return
select 10 as ColName
Anda harus melakukan seperti ini:
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
sedangkan MSTVF berperilaku lebih seperti prosedur penyimpanan buram (meskipun dengan kelebihannya sendiri dibandingkan dengan sprocs). Fungsi sebaris harus lebih disukai daripada MSTVF. Jika Anda memang perlu menghitung dan menyimpan nilai antara (seperti hasil dari ekspresi fungsi skalar yang kompleks), gunakan subkueri.