【发布时间】:2013-12-13 11:30:29
【问题描述】:
如果表值参数为空,我想获取列的所有值,否则只有匹配的记录。我已经尝试过了,但是当子查询返回多条记录时会出错:
ALTER PROCEDURE [dbo].[usp_MY_SP]
(
@TVP ABCTableType readonly,
)
AS
SELECT *
FROM TABLE t
WHERE
t.Id IN(
CASE WHEN (SELECT COUNT([Id]) FROM @TVP) > 0
THEN (SELECT [Id] FROM @TVP)
ELSE (t.Id)
END
)
【问题讨论】:
标签: sql-server stored-procedures table-valued-parameters