Oracle触发器未触发

时间:2016-08-19 18:13:48

标签: oracle triggers database-trigger

我的触发器有一个问题;他们对所应用的表格上的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;

0 个答案:

没有答案