Como faço para calcular um total em execução no SQL sem usar um cursor?

Estou deixando de fora toda a configuração do cursor e o SELECT da tabela temporária por brevidade. Basicamente, esse código calcula um saldo em execução para todas as transações por transação.

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

Inspirado por este código de uma resposta a outra pergunta,

SELECT @nvcConcatenated = @nvcConcatenated + C.CompanyName + ', '
FROM tblCompany C
WHERE C.CompanyID IN (1,2,3)

Eu queria saber se o SQL tinha a capacidade de somar números da mesma forma que é concatenar strings, se você entender o meu significado. Ou seja, para criar um "saldo em execução" por linha, sem usar um cursor.

É possível?

questionAnswers(11)

yourAnswerToTheQuestion