此触发器建议跟踪客户表上的旧值和新值。它只为每个更改的值列插入一个新行。想象一下有 25 列,我要写同样的东西 25 次。有没有办法在循环中做到这一点,或者有更好的方法来保持更通用。想象一下,如果任何新的列添加到客户表中,按照您告诉我的方式,将无需更改触发器。
CREATE OR REPLACE TRIGGER KRD_CUSTOMER_UPD_DEL_TRG
BEFORE UPDATE OR DELETE ON KRD_CUSTOMER
FOR EACH ROW
DECLARE
V_ISLEMTIPI VARCHAR2(1);
BEGIN
IF UPDATING THEN
if :OLD.CUSTOMERNAME <> :NEW.CUSTOMERNAME then
krd_ins_customerTable(p_OldCustomerName => :OLD.CUSTOMERNAME,
p_NewCustomerName => :NEW.CUSTOMERNAME);
end if;
end if;
end;