クエリで使用できる整数リストを保持する Type を作成しました。list パラメーターに where 句を記述する必要があり、リストが空の場合はすべてを取得する必要があります。以下は sql です。
DROP TYPE dbo.integer_list_tbltype
GO
CREATE TYPE integer_list_tbltype AS TABLE (n int NOT NULL PRIMARY KEY)
GRANT EXECUTE ON TYPE::integer_list_tbltype TO public
GO
DECLARE @listvalues dbo.integer_list_tbltype
INSERT INTO @listvalues values (3),(4)
CREATE TABLE #MyTable (a INT NOT NULL)
INSERT #MyTable (a) VALUES (2),(3),(4)
Select * from #MyTable
Where a in (select n from @listvalues)
go
DROP TABLE #MyTable
go
--DROP TYPE integer_list_tbltype
@listvalues が null の場合、2,3,4 を取得する必要があります。クエリをフォーマットするにはどうすればよいですか?