【问题标题】:Query monitoring changes in the field查询监控现场变化
【发布时间】:2022-01-04 17:42:01
【问题描述】:

我需要编写一个查询,我可以在其中查看某些字段在某个日期期间发生的更改。 示例:从 CAM_CONCEN 表中获取日期前 6 个月内 ACCOUNT_NUMBER 在 CONCTACT 字段中发生修改的记录。 如果您能指导我,我将不胜感激。

【问题讨论】:

  • 您如何跟踪列的更改?您是否使用内置审核?写入历史表的触发器?写入通用审计表的触发器?还有什么?

标签: sql database oracle


【解决方案1】:

您可以使用LAG() 查看特定行子集的前一行(在本例中为同一帐户)。

例如:

select *
from (
  select c.*,
    lag(contact) over(partition by account_number
                      order by change_date) as prev_contact
  from cam_concen c
) x
where contact <> prev_contact

【讨论】:

  • 谢谢,成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 2010-12-14
  • 1970-01-01
  • 2010-10-05
相关资源
最近更新 更多