Abdullah Rahimee
Abdullah Rahimee

Reputation: 3

Oracle - how to update table column by subtracting a value in a subquery?

this query gives an error on (-) on the trigger

UPDATE CHART_ACCOUNT
SET BALANCE=BALANCE-(SELECT SUM (AMOUNT) 
                     FROM CHASH_PAYMENT_DETIALS) 
WHERE CHART_ACCOUNT.ACCOUNT_ID=CHASH_PAYMENT_DETIALS.ACCOUNT_ID

Upvotes: 0

Views: 1410

Answers (1)

Gordon Linoff
Gordon Linoff

Reputation: 1269773

I believe this is what you want:

UPDATE CHART_ACCOUNT ca
    SET BALANCE = BALANCE - (SELECT SUM(AMOUNT)
                             FROM CHASH_PAYMENT_DETIALS cpd
                             WHERE ca.ACCOUNT_ID = cpd.ACCOUNT_ID
                            )
    WHERE EXISTS (SELECT 1
                  FROM CHASH_PAYMENT_DETIALS cpd
                  WHERE ca.ACCOUNT_ID = cpd.ACCOUNT_ID
                 );

Upvotes: 1

Related Questions