web-dev-qa-db-ja.com

テーブル値関数で変数を宣言する

テーブル値関数で変数を宣言するにはどうすればよいですか? (私のタイトルのように)

95
esquare

テーブル値関数には2つのフレーバーがあります。 1つは選択ステートメントであり、もう1つは選択ステートメントよりも多くの行を持つことができます。

これは変数を持つことができません:

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
177
Mikael Eriksson