【发布时间】:2022-11-22 04:51:46
【问题描述】:
我有下表,每晚都会加载到我的数据库中(这通常包含更多行,但例如我只包含 2 行)。
然后我有一个名为 [dbo].[StitchUsernames] 的存储过程,它接受 UserID 作为参数。此存储过程获取 UserID 并更新另一个表以说明 UserID 已成功导入。
我想要实现的目标是为表中的每一行运行存储过程,并在StitchResult 表中记录存储过程运行(成功/失败)的结果。
实现这一目标的最佳方法是什么?因此,对于下面的示例,我希望它运行 UserID = 455,然后将 StitchResult 更新为成功/错误。然后它将移动到 22 并执行相同的操作.. 直到所有行都已完成。
UserID Username StitchResult
----------------------------------------------
455 Peter.S NULL
22 Maureen.T NULL
感谢任何建议!我试过查看游标,但阅读这些内容会导致性能问题吗?
【问题讨论】:
-
如果必须为每一行调用存储过程,则需要使用游标。最好将 proc 重构为多行的基于集合的操作。
标签: sql sql-server-2016