我在Oracle 11g中使用AFTER INSERT行触发器在插入时将特定列从一个表复制到另一个表。我有触发器和插入工作正常。我遇到的问题是我需要在复制时将新数据从一列插入到不同的列中。
触发信息显示为:
BEGIN
insert into BALES_STORAGE
(CROP,
CUTTING,
DESTINATION,
BALES_MOVED,
DATE_MOVED,
PASTURE,
TARGET_LB_PER_DAY)
values
(:new.CROP,
:new.CUTTING,
:new.MOVING_LOCATION,
:new.BALES_MOVED,
:new.DATE_MOVED,
:new.PASTURE,
:new.TARGET_LB_PER_DAY);
END;
第一个表名为" BALES_HARVESTED"触发器将所选列插入的第二个表称为" BALES_STORAGE"。我需要将:new.MOVING_LOCATION数据插入到第二个表中名为DESTINATION的列中。
所以我的问题是:当使用后插入行触发器时,如何更改插入数据的列?
感谢您的帮助。
马修
答案 0 :(得分:0)
您的触发器代码对我来说很合适。不确定是什么问题。 INSERT
语句中的第3列正确映射列。
http://sqlfiddle.com/#!4/2d2fd5/1/1
也许您有不同的结构或外键约束。你能详细说明你得到的错误吗?它是否会产生ORA错误?或者它只是没有产生所需的结果,但没有错误?