기존의 상품코드와 새로운 결제한 상품코드는 서로 다른 테이블에 있죠.
- 기존의 상품코드(매출테이블), 새로운 상품코드(결제테이블)
따라서 기존의 상품코드는 OLD 를 쓰는게 아니라 테이블에서 조회하는 거죠.
CREATE OR REPLACE TRIGGER tr_결재 AFTER INSERT ON 결재 FOR EACH ROW BEGIN IF :NEW.일자 = TO_CHAR(sysdate, 'yyyymmdd') THEN MERGE INTO 매출 USING dual -- ON 상품 = :NEW.상품 -- 괄호를 빼먹었네요. ON ( 상품 = :NEW.상품 ) WHEN MATCHED THEN UPDATE SET 매출액 = 매출액 + :NEW.금액 , 수량 = 수량 + :NEW.수량 WHEN NOT MATCHED THEN INSERT (상품, 매출액, 수량) VALUES (:NEW.상품, :NEW.금액, :NEW.수량) ; END IF; END; /