我想在数据库的每个表中加载两列CREATE_DATE
和UPDATED_DATE
。 CREATE_DATE
应该告诉我最初的一次性完整数据加载发生的日期/时间,但是UPDATED_DATE
应该根据每次增量加载而改变。不更改映射的最佳方法是什么?任何可以动态执行此操作的SQL函数或查询?
答案 0 :(得分:1)
不知道为什么要避免更改映射逻辑...在这里,您已经为这种处理量身定制了一个工具。如果您在映射中已经有能力区分插入和更新,则只需在表达式中使用SYSTIMESTAMP并在2个目标之间进行选择即可,分别连接到CREATE_DATE和UPDATED_DATE FOR INSERTS以及仅UPDATED_DATE进行更新。
如果您坚持使用SQL,请在此处查看How to compute a column value in oracle 10g?的Gordon帖子,但知道在数据库上设置触发器会导致性能损失