【问题标题】:for each loop for selected rows in sql server对于 sql server 中选定行的每个循环
【发布时间】:2017-06-03 13:02:31
【问题描述】:

我想选择一个表记录并为每一行运行一个存储过程,该存储过程使用一些参数。 我的表包含 ProductId、ProductUrl 和 ShopId 我的存储过程使用此字段更新另一个表。 在 c# 中,我可以使用变量和每个循环,并在此循环中调用存储过程,但我想在 sql 查询中运行此操作 类似的东西:

items = (SELECT * From Tbl_Products);
foreach(var pr in items)
{
   SP_Update_Products(pr.ProductId,pr.ProductUrl,pr.ShopId);
}

当然这不是真的,我只是想表明我的意思

【问题讨论】:

  • 一般来说,您不想在数据库中使用循环。作为一般规则,大量的小更新会比一个大的更新慢。如果您的程序逻辑在循环中运行,那很好,但我不会在循环的每次迭代中执行更新。我会保存更新直到循环完成,然后执行一次更新。

标签: sql stored-procedures sql-server-2016


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-06
  • 2014-05-04
  • 2019-01-24
  • 1970-01-01
相关资源
最近更新 更多