Hi,
I have written a trigger like below.
CREATE TRIGGER RQ5.NON_SWIFT_TXN_CLNT_UPT AFTER UPDATE OF BUS_OR_ENTY_NM ON RQ5.NON_SWIFT_TXN_CLNT REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW MODE DB2SQL BEGIN ATOMIC
INSERT INTO RQ5.NON_SWIFT_TXN_INFO_HIST
SELECT NON_SWIFT_ID, CURRENT TIMESTAMP, USER, 'P', EFTR_INCDNT_ID, SRC_SYS, PROC_DT, MSG_FLOW_TYP, REC_ID_NO, SENT_TM, TRNSMT_DT, TXN_AMT, CRNCY_CD, EXCH_RT,DR_CR_IND
FROM RQ5.NON_SWIFT_TXN_INFO WHERE NON_SWIFT_ID = OLD.NON_SWIFT_ID
;--
INSERT INTO RQ5.NON_SWIFT_TXN_CLNT_HIST
SELECT NON_SWIFT_ID, CLNT_TYP, CURRENT TIMESTAMP, DOB, INDV_DOC_ID, INDV_OTH_NM, INDV_GIVEN_NM, INDV_SURNM, TEL_NO, OTH_ID_DESC, CLNT_NO, INDV_OCCTN, BUS_OR_ENTY_NM, CNTRY_CD, SUBCNTRY_CD, PSTL_ZIP_CD, CTY_NM, ST_ADDR, OTH_SUBCNTRY_NM, US_PSTCD_EXT, ST_ADDR_2, ST_ADDR_3, ST_ADDR_4, ACCT_NO, LOC_CD
FROM RQ5.NON_SWIFT_TXN_CLNT
WHERE NON_SWIFT_ID = OLD.NON_SWIFT_ID
;--
END;
But it inserts the record after updating the column. But my requirement is records need to be inserted in HIST table before updating the column in main table. I mean to say I need old values in HIST tables. In first insert there will be only one record for one NON_SWIFT_ID in main table, but in second insert there will be multiple records for one NON_SWIFT_ID in main table. All records belonging to same NON_SWIFT_ID should go to HIST table. Please let me know how to do it.
Thanks
Surjya