【发布时间】:2014-09-19 09:31:18
【问题描述】:
我有一个名为 orders 的表,其中每三个小时通过 CSV 文件将数据加载到加载器表中。我有一列 last_modified 设置为SYSDATE,它记录了表上的插入和更新。最近,我观察到 last_modified 列在更新发生时有超过 100k 条记录的空值。有没有办法解决这个问题?
Merge into orders d
using (select * from ods_prm_data ) s
on (d.order_id = s.order_id)
when not matched then
insert (d.order_id ,d.ID, d.last_modified)
values (s.order_id, s.ID,s.order_seq.val,SYSDATE)
when matched then
update set d.last_modified = SYSDATE;
【问题讨论】:
-
话虽如此,这不是您描述的正常行为。也许要问的正确问题是“我的导入程序有什么问题?”
-
这是一个简单的合并语句,其中 last_update 正在开启和关闭.. 此表上没有启用触发器.. last_updated 日期具有一些记录的值,并且一些记录由于以下原因而无法更新我无法区分何时插入或更新记录..
-
我可以看到这个触发器可以用于将来的目的,但是对于旧的记录集..我如何检查它们何时在目标表上插入或更新?
-
请注意:不要将澄清信息放入 cmets。编辑问题(您始终可以编辑自己的问题)并在问题本身中包含澄清信息。谢谢。