我正在创建一个存储过程,我想将逗号分隔的 Id 列表作为变量传递给该存储过程。我想在选择语句中使用 Id,例如:
Create Procedure up_TEST
@Ids VARCHAR(MAX)
AS
SELECT * FROM ATable a
WHERE a.Id IN(@Ids)
显然我收到了错误:@Ids
是 varchar 而不是 INT,但是如何转换逗号分隔列表?
最佳答案
由于您使用的是 SQL Server 2008,请查看 table-valued parameters .
关于SQL - 使用 IN (@Variable_CommaDelimitedListOfIDS) 的带有 Select 语句的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2584977/