Объявите переменную в табличной функции - PullRequest
94 голосов
/ 12 июля 2011

Как я могу объявить переменную в табличной функции? (как в моем названии)

1 Ответ

173 голосов
/ 12 июля 2011

Существует два вида табличных функций.Тот, который является просто оператором выбора, и тот, который может иметь больше строк, чем просто оператор выбора.

Это не может иметь переменную:

create function Func() returns table
as
return
select 10 as ColName

Вместо этого вы должны сделать следующее:

create function Func()
returns @T table(ColName int)
as
begin
  declare @Var int
  set @Var = 10
  insert into @T(ColName) values (@Var)
  return
end
...