Jak obliczyć sumę uruchomioną w SQL bez użycia kursora?
Pomijam wszystkie ustawienia kursora i SELECT z tabeli tymczasowej. Zasadniczo kod ten oblicza saldo bieżące dla wszystkich transakcji na transakcję.
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
Zainspirowany tym kodem, od odpowiedzi na inne pytanie,
SELECT @nvcConcatenated = @nvcConcatenated + C.CompanyName + ', '
FROM tblCompany C
WHERE C.CompanyID IN (1,2,3)
Zastanawiałem się, czy SQL miał możliwość sumowania liczb w taki sam sposób, jak konatonowanie ciągów, jeśli dostaniesz moje znaczenie. Oznacza to utworzenie „salda biegowego” dla każdego wiersza bez użycia kursora.
Czy to możliwe?