我的触发器有一个问题;他们对所应用的表格上的DDL语句起了作用。
我可以看到我已应用的表中插入和更新的数据,但日志表中没有数据。
例如:ADDRESS是一个样本表,ADDRESS_LOG是日志表,其中触发器将ADDRESS表中的数据放入任何DML语句中。
任何帮助
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;