我有一个流程可以抓取一堆记录(1000 条)并对它们进行操作,完成后,我需要将其中的大量记录标记为已处理。我可以用一大串 ID 来表明这一点。我试图避免“循环更新”模式,所以我想找到一种更有效的方法将这个 ID 包发送到 MS SQL Server 2008 存储过程中。
建议 #1 - 表值参数。我可以定义一个表类型,只包含一个 ID 字段,然后发送一个充满 ID 的表来更新。
建议 #2 - proc 正文中带有 OPENXML() 的 XML 参数 (varchar)。
建议 #3 - 列表解析。如果可能的话,我宁愿避免这种情况,因为它看起来笨重且容易出错。
这些中的任何偏好,或者我错过的任何想法?