【问题标题】:Update with Looping SQL Server [closed]使用循环 SQL Server 更新 [关闭]
【发布时间】:2020-02-14 12:04:56
【问题描述】:

我想用循环更新结果第 1 行 = 15、第 2 行 = 5、第 3 行 = 30:

【问题讨论】:

  • 对不起,我错过了,我想用 Looping 更新
  • “我想用循环更新” 为什么?你在写 SQL,而不是 C#。使用基于集合的方法。
  • 因为我想看天花板上的 Plafond,按 ID 和日期分组
  • 我不明白这意味着什么,但这仍然不能解释原因。就像我说的,您正在编写 SQL,它是一种查询语言,而不是一种编程语言。查询语言在迭代任务中表现非常很差,而在基于集合的任务中表现出色(与编程语言相反)。如果你认为你想要一个循环,那么你是在以编程方式思考,而不是基于集合;你有错误的心态。在 SQL 中需要循环的情况很少,这肯定不是其中之一。

标签: sql-server loops


【解决方案1】:

你可以JOIN

UPDATE t1
     SET t1.Result = t.Result
FROM ( VALUES (1, 15), (2, 5), (3, 30)
     ) t(C,Result) INNER JOIN
     table t1
     on t1.c = t.c;

【讨论】:

  • 提前致谢,如何使用 Looping 进行更新
  • @YPG。 . . JOIN 将是与循环相比的最佳方法。那么,为什么要在这里循环使用这种简单的方法。
  • 因为我想查看天花板充值 Plafond,按 ID 和日期分组。在我的桌子上有很多ID。我让 C 从最小的天花板开始排序
猜你喜欢
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 2023-03-27
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
相关资源
最近更新 更多