在SQL Server中使用数组

jan*_*ann 3 c# t-sql asp.net stored-procedures sql-server-2008

我有一个ID的int数组(我可以选择很多复选框),我希望通过存储过程在一个数据库调用中获取.

有没有办法在SQL Server中使用这些ID的数组?我相信它应该是拆分数组然后循环它(在SQL中).我只是不知道怎么样?

SQL Server 2008

Ode*_*ded 5

有很多方法可以做到这一点:

  • 传入由逗号分隔的值的varchar参数并将其解析出来(效率不高,但对于少量数据,除了解析位外不是太糟糕)
  • 传入XML并使用内置的XML函数(SQL Server 2005+比早期版本有更好的支持)
  • 使用表值参数(SQL Server 2008+)

由于您使用的是SQL Server 2008,因此请使用表值参数.