0

I have one problem with my trigger; they are getting fire on DDL statement on the tables applied.

I could see the data being inserted and updated in the tables which I have applied but no data in the log tables.

For example: ADDRESS is one sample table and ADDRESS_LOG is the log table where in which trigger puts the data from ADDRESS table in any DML statements happen.

Any help

CREATE OR REPLACE TRIGGER TR_ADDRESSES
 BEFORE UPDATE ON ADDRESSES 
 REFERENCING OLD AS OLD NEW AS NEW
 FOR EACH ROW
BEGIN
IF UPDATING THEN
IF
UTILS.IS_EQUAL (:OLD.ADDRESSES_ID,:NEW.ADDRESSES_ID)  OR
UTILS.IS_EQUAL(:OLD.ADDR_1,:NEW.ADDR_1)  OR
UTILS.IS_EQUAL(:OLD.ADDR_2,:NEW.ADDR_2)  OR
UTILS.IS_EQUAL(:OLD.CITY,:NEW.CITY)  OR
UTILS.IS_EQUAL(:OLD.COUNTY,:NEW.COUNTY)  OR
UTILS.IS_EQUAL(:OLD.STATE,:NEW.STATE)  OR
UTILS.IS_EQUAL(:OLD.ZIP,:NEW.ZIP)  OR
UTILS.IS_EQUAL(:OLD.COUNTRY,:NEW.COUNTRY)  OR
UTILS.IS_EQUAL(:OLD.PO_BOX,:NEW.PO_BOX)
THEN
INSERT INTO CMS_DATA.ADDRESSES_LOG
VALUES (
:OLD.ADDRESSES_ID,
:OLD.ADDR_1,
:OLD.ADDR_2,
:OLD.CITY,
:OLD.COUNTY,
:OLD.STATE,
:OLD.ZIP,
:OLD.COUNTRY,
:OLD.PO_BOX
);
END IF;
END IF;
END TR_ADDRESSES;
Avinash.Byalihal
  • 137
  • 2
  • 7
  • 22

0 Answers0