【问题标题】:Insert data into a different column when copying from one table to another in Oracle在Oracle中从一个表复制到另一个表时将数据插入不同的列
【发布时间】:2014-06-19 12:58:06
【问题描述】:

我在 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 的列中。

所以我的问题是:使用后插入行触发器时,如何更改插入数据的列?

感谢您的帮助。

马修

【问题讨论】:

    标签: oracle


    【解决方案1】:

    您的触发代码对我来说工作得很好。不确定是什么问题。 INSERT 语句中的第 3 列正确执行列映射。

    http://sqlfiddle.com/#!4/2d2fd5/1/1

    也许您有不同的结构或外键约束。你能详细说明你得到了什么错误吗?它会产生 ORA- 错误吗?还是它根本没有产生预期的结果,但没有错误?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-28
      • 2015-02-18
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-13
      相关资源
      最近更新 更多