SQL Table 值参数 - 默认值
SQL Table Valued Parameter - Default Value
我正在将 table 值参数传递给存储过程以在 where 子句中使用,但我想先检查该参数是否已传入。检查此类参数的最佳方法是什么?例如,我希望 select 符合以下行:
SELECT *
FROM tableName
WHERE
@TVP IS NULL OR RecordID IN (SELECT * FROM @TVP)
如果未传递 table 值类型的参数,它将只是一个空的 table。所以你可以使用:
SELECT *
FROM tableName
WHERE not exists(select * from @TVP)
or RecordID IN (SELECT * FROM @TVP)
我正在将 table 值参数传递给存储过程以在 where 子句中使用,但我想先检查该参数是否已传入。检查此类参数的最佳方法是什么?例如,我希望 select 符合以下行:
SELECT *
FROM tableName
WHERE
@TVP IS NULL OR RecordID IN (SELECT * FROM @TVP)
如果未传递 table 值类型的参数,它将只是一个空的 table。所以你可以使用:
SELECT *
FROM tableName
WHERE not exists(select * from @TVP)
or RecordID IN (SELECT * FROM @TVP)