Трябва да можете да направите това с няколко израза без използването на курсор или друг процедурен код. Просто се уверете, че всичко е в една транзакция:
BEGIN TRANSACTION
INSERT INTO crrsql.dbo.AR_Transactions (
cashier_id,
cust_num,
balance,
transaction_date)
SELECT
100199,
cust_num,
-acct_balance,
DATEADD(MINUTE, -30, current_date)
FROM crrsql.dbo.Customers
WHERE acct_balance <> 0
UPDATE crrsql.dbo.Customers SET acct_balance = 0 WHERE acct_balance <> 0
COMMIT TRANSACTION
Разбира се, добавете подходящо обработване на грешки и не забравяйте да тествате това първо.
Освен това леко промених някои от имената на вашите таблици и колони. Не искам да навлизам в това кои конкретни конвенции за именуване са по-добри от други, но поне поне да бъда постоянен. Ако ще използвате долни черти, използвайте ги. Ако вместо това ще използвате нотация с камила, тогава използвайте това, но не ги смесвайте. Същото важи за имена на таблици в множествено срещу единствено число.