Я хочу обновлять каждую строку итеративно, когда строка обновляется, она должна использовать предыдущие последние обновленные значения, но используя подход CTE, чтобы избежать курсора
Псевдокод курсора:
Cursor{
--when cursor on row 1
update @table
set Balance=dbo.somefunction(sum of balance before row<1 i.e 0)
--when cursor on row 2
update @table
set Balance=dbo.somefunction(sum of balance before row<2 i.e 950)
.
.
.
};
Declare @table table(id int,col int,col2 int,balance int);
INSERT INTO @table
values(1,200,50,0),(2,60,150,0),(3,250,3,0),(4,65,2,0);
Конечный результат будет выглядеть так:
1 200 50 950
2 60 150 1
3 250 3 3
4 65 2 50