这个查询是什么意思?
@numberx = @numberx -1
UPDATE th
SET @numberX= numberY= @numberX + 1
FROM Table1 th
INNER JOIN Table2 td ON th.Id = td.idth
WHERE td.anything = @anything
在第3行,“双重平等”是什么?
UPDATE上的“来自”和“内部”是什么?
最佳答案
这是一个多表更新,用于为Table1
中的每一行分配连续的数字,其中Table2
中的对应行具有列anything
的特定值。
对于每个匹配的行,它将列numberY
设置为@numberX + 1
的值。它还会将值重新分配回@numberX
,这会使@numberX
对于每一行递增。
这被称为“古怪的更新”。这是一种无记录的方法,也不保证生成运行总计。在2012年,应改用SUM() OVER (ORDER BY ...)
。
关于sql - 此SQL查询的作用是什么?请解释,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13954179/