这个查询是什么意思?

@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/

10-10 05:48