SQL - 使用 IN (@Variable_CommaDelimitedListOfIDS) 的带有 Select 语句的存储过程

标签 sql sql-server sql-server-2008 stored-procedures

我正在创建一个存储过程,我想将逗号分隔的 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/

相关文章:

mysql - 是否有可能更快地获得查询?

php - 如何在MySQL中 'GROUPT BY'之后的 'ORDER BY'

sql - 在触发器函数中访问行类型的动态列名

SQL Server - boolean 文字?

java - 部署WAR文件时的Tomcat 7.0.52 JNDI错误

sql - 如何查找重叠时间段内可用的最大容量 SQL Server 2008

PHP:数组搜索组

sql-server - 如何在 Mac OSX 上使用 Vim dbext 连接到 MS SQLServer?

sql-server - 索引 View 上的 SQL Server 列存储聚集索引

SQL高级查询