SQL更新查询错误地选择了SYSDATE

时间:2017-11-21 09:24:28

标签: sql oracle

我尝试使用以下SQL查询更新last_update_date列,但Oracle正在选择SYSDATE,而不是从源表中选择日期。即使在选择SYSDATE之后,我也已禁用所有对其负责的触发器。任何人都能说明为什么会这样吗?

     update el_address b
   set last_update_date =
       (select last_update_date
          from gis_prod.ev_address a
         where a.feat_num = b.feat_num
           and not (a.g_version != 0 and a.g_next_version is null)
           and a.feat_num not in (select feat_num
                                    from gis_prod.ev_address
                                   where feat_num in (select feat_num
                                                        from gis_prod.ev_address
                                                       group by feat_num
                                                      having count(feat_num) > 1)
                                     and g_next_version < 0));

1 个答案:

答案 0 :(得分:0)

如果

select max (last_update_date) from gis_prod.ev_address 

是比sysdate更早的日期。更新的值不能来自发布的查询。

可能是你错过的触发器。