这个SQL查询有什么作用?请解释

use*_*743 5 sql

这个查询是什么意思?

@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
Run Code Online (Sandbox Code Playgroud)

在第3行,这是什么"双重平等"?在UPDATE上这是什么"来自"和"内在"?

Mar*_*ers 8

这是一个多表更新,用于为每一行分配连续数字,Table1其中相应的行Table2具有该列的特定值anything.

对于每个匹配的行,它将列numberY设置为值@numberX + 1.它还会重新分配该值@numberX,这会导致@numberX每行增加.

这被称为"古怪的更新".这是一种未记录且无法保证的生成运行总计的方法.SUM() OVER (ORDER BY ...)应该使用2012年.