【发布时间】:2022-01-04 17:42:01
【问题描述】:
我需要编写一个查询,我可以在其中查看某些字段在某个日期期间发生的更改。 示例:从 CAM_CONCEN 表中获取日期前 6 个月内 ACCOUNT_NUMBER 在 CONCTACT 字段中发生修改的记录。 如果您能指导我,我将不胜感激。
【问题讨论】:
-
您如何跟踪列的更改?您是否使用内置审核?写入历史表的触发器?写入通用审计表的触发器?还有什么?
我需要编写一个查询,我可以在其中查看某些字段在某个日期期间发生的更改。 示例:从 CAM_CONCEN 表中获取日期前 6 个月内 ACCOUNT_NUMBER 在 CONCTACT 字段中发生修改的记录。 如果您能指导我,我将不胜感激。
【问题讨论】:
您可以使用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
【讨论】: