Create Proc GetProductDetails
(
@ProductId varchar(max)
)
as
begin
select ComplexId from ComplexMaster where ProductId in(@ProductId)
end
@ProductId 参数值 '1,2,3,4,5........13524'
Create Proc GetProductDetails
(
@ProductId varchar(max)
)
as
begin
select ComplexId from ComplexMaster where ProductId in(@ProductId)
end
@ProductId 参数值 '1,2,3,4,5........13524'
由于您似乎正在使用参数来传递值列表,因此您可能需要考虑切换到使用表值参数而不是varchar
.
CREATE TYPE IdListType AS TABLE (Id int);
将参数定义为该类型(注意必要的 READONLY 关键字):
CREATE PROCEDURE GetProductDetails
(
@ProductIds IdListType READONLY
)
...
从参数中读取值与读取表变量相同。一个例子:
SELECT ComplexId
FROM ComplexMaster
WHERE ProductId IN (SELECT Id FROM @ProductIds)
;