1. ホーム
  2. tsql

[解決済み] SQL ビュー - 変数がない?

2023-05-08 23:32:56

質問

View内で変数を宣言することは可能でしょうか?例えば

Declare @SomeVar varchar(8) = 'something'

は構文エラーを出します。

キーワード 'Declare' の近くに不正な構文があります。

どのように解決するのですか?

ご指摘のとおりです。VIEW内ではローカル変数は使用できません。

結果セットを返すテーブルバリュー関数では、ローカル変数を設定することができます(ビューがそうであるように。)

http://msdn.microsoft.com/en-us/library/ms191165.aspx

CREATE FUNCTION dbo.udf_foo()
RETURNS @ret TABLE (col INT)
AS
BEGIN
  DECLARE @myvar INT;
  SELECT @myvar = 1;
  INSERT INTO @ret SELECT @myvar;
  RETURN;
END;
GO
SELECT * FROM dbo.udf_foo();
GO