2
如果表值參數爲空,我想獲取所有列值,否則只有匹配的記錄。我曾經試過,但在子查詢返回多個記錄它給出了一個錯誤:如果表值參數爲空,則獲取所有記錄
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
)
不,我要添加IF像條件在where子句,因爲我還有其他的參數不僅僅是這個單一的 –
好吧,我明白了。現在檢查編輯。 – Szymon
它爲我工作。非常感謝您的幫助。 –