如何编写存储过程来执行此操作?

cho*_*obo 0 sql t-sql sql-server sql-server-2005

我想创建一个存储过程,它接受一串逗号分隔值,如"1,2,3,4",并将其拆分并使用这些数字在不同的表上运行查询.

所以在相同的存储过程中它会做类似的事情

select somefield from sometable where somefield = 1
select somefield from sometable where somefield = 2
select somefield from sometable where somefield = 3
select somefield from sometable where somefield = 4
Run Code Online (Sandbox Code Playgroud)

谢谢!

mar*_*c_s 5

查看Erland Sommarskog关于如何将值列表传递给SQL Server 2005中的存储过程的优秀文章:

SQL Server 2005及更高版本中的数组和列表

从那以后,您应该能够根据您拥有的标准创建查询.