场景:
当商户修改入驻信息的时候,会在入驻修改表中插入一条修改后信息。
表结构为:
触发器:
思路:判断表中新值和旧值是否是相等,如果不一样就记录下来,最后统一插入入驻修改表中。
CREATE OR REPLACE TRIGGER PM_ENTER_RECORD_TRIGGIR
BEFORE
UPDATE OF "CONTRACT_NO","CUSTOMER_NM","ENTER_PLACE","ENTER_STS","WATER_METER_NUM",
"GAS_METER_NUM","ELECTRIC_METER_NUM","REMARK" ON PM_ENTER_RECORD FOR EACH ROW
declare
/*修改数据项*/
alterColmun varchar2(200);
/*原值*/
originalValue varchar2(200);
/*修改值*/
alterValue varchar2(200);
BEGIN
if :OLD.CONTRACT_NO <> :NEW.CONTRACT_NO then
/*合同编号*/
alterColmun := '合同编号';
originalValue := replace(:OLD.CONTRACT_NO, ' ', '');
alterValue := replace(:NEW.CONTRACT_NO, ' ', '');
end if;
if :OLD.CUSTOMER_NM &l
Oracle触发器实现数据同步

本文介绍了如何在Oracle数据库中使用触发器来实现实时的数据同步。具体场景是在商户入驻信息修改时,通过触发器监测并记录修改前后的变化,将变更记录到专门的修改表PM_ENTER_MODIFY_RECORD中,涉及的字段包括合同编号、客户编号、场地编号、入驻状态、水表读数、煤气表读数、电表读数和备注。
最低0.47元/天 解锁文章
860

被折叠的 条评论
为什么被折叠?



