使用下面提到的触发器,我正在跟踪审计或更改日志表中的生产表中的更改。我的问题是跟踪表中的字段名称与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;
/
}
谢谢。我的错误出现了,因为我试图像在SELECT语句中那样使用AS。你为我清除它很好... –