Я опускаю все настройки курсора и SELECT из временной таблицы для краткости.По сути, этот код вычисляет текущий баланс для всех транзакций на транзакцию.
WHILE @@fetch_status = 0
BEGIN
set @balance = @balance+@amount
insert into @tblArTran values ( --from artran table
@artranid, @trandate, @type,
@checkNumber, @refNumber,@custid,
@amount, @taxAmount, @balance, @postedflag, @modifieddate )
FETCH NEXT FROM artranCursor into
@artranid, @trandate, @type, @checkNumber, @refNumber,
@amount, @taxAmount,@postedFlag,@custid, @modifieddate
END
Вдохновленный этим кодом из ответа на другой вопрос,
SELECT @nvcConcatenated = @nvcConcatenated + C.CompanyName + ', '
FROM tblCompany C
WHERE C.CompanyID IN (1,2,3)
Мне было интересно, имел ли SQLспособность суммировать числа таким же образом, как это объединяет строки, если вы понимаете мое значение.То есть создать «текущий баланс» для каждой строки без использования курсора.
Возможно ли это?