相关疑难解决方法(0)

将数组参数传递给存储过程

我有一个进程可以抓取一堆记录(1000 条)并对它们进行操作,当我完成后,我需要将其中的大量记录标记为已处理。我可以用一个大的 ID 列表来表明这一点。我试图避免“循环更新”模式,所以我想找到一种更有效的方法来将这个 ID 包发送到 MS SQL Server 2008 存储过程中。

提案#1 - 表值参数。我可以定义一个只有一个 ID 字段的表类型,然后发送一个包含要更新的 ID 的表。

建议 #2 - XML 参数 (varchar) 和 OPENXML() 在 proc 主体中。

建议 #3 - 列表解析。如果可能的话,我宁愿避免这种情况,因为它看起来笨拙且容易出错。

其中有什么偏好,或者我错过了什么想法?

sql-server-2008 sql-server

63
推荐指数
7
解决办法
27万
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1