使用下面提到的触发器,我在审计或更改日志表中跟踪生产表中的更改。我的问题是跟踪表中的字段名称与table1中的字段名称不同。值相同,但列的名称不同。
那么问题来了,触发器中的语法必须如何更改才能获取一个字段名称的值并将其插入到跟踪表中另一个名称的字段中?
感谢您的任何和所有帮助或建议。
{
CREATE OR REPLACE TRIGGER track_change_trg
AFTER INSERT OR UPDATE OR DELETE
ON table1
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO tracking table VALUES
(:new.pname, :new.p_id, :new.p_type, :new.t1name,
'INSERTED', SYSDATE);
ESLIF UPDATING THEN
INSERT INTO tracking table VALUES
(:new.pname, :new.p_id, :new.p_type, :new.t1name,
'UPDATED', SYSDATE);
ELSIF DELETING THEN
INSERT INTO tracking table VALUES
(:old.pname, :old.p_id, :old.p_type, :old.t1name,
'DELETED', SYSDATE);
END IF;
END;
/
}