Oracle: функция Lag () очищает / очищает кэш - PullRequest
0 голосов
/ 08 октября 2019

Функция LAG () содержит предыдущее значение, поэтому я хочу только сбросить его? Есть ли какой-либо запрос / команда для очистки журнала / кэша функции LAG () в Oracle?

Я не хочу сбрасывать все журналы с оракула. Я просто хочу сбросить сохраненное предыдущее значение в функции Lag ().

Актуальная проблема:

Oracle получает строку, в которой значение столбца изменилось

Ястолкнулся с той же проблемой, что и выше, и я использовал этот запрос для получения измененного значения

select *
from t2 
where date1 = ( 
    select max(date1)
    from (
        select
            id, 
            date1, 
            cctr, 
            lag(cctr) over(order by date1 desc) as prev 
        from t2
    ) x
    where 
        prev is not null and
        cctr <> prev
    );

, но в моем случае у меня есть столбец состояния, который я обновляю с помощью 'Y' и 'N', поэтому, когда я использую запрос выше и яизмените статус «Y» с помощью «N», он показывает измененную строку, но когда я снова изменяю статус с «N» на «Y», он не отображает измененную строку. Я использую функцию lag ().

Я думаю, есть ли какая-либо команда для очистки / очистки кэша функции lag ()? потому что это проверить предыдущее значение. или есть какое-то решение?

...