Jak Sprawdzić Kiedy Ostatnio Miała Miejsce Instrukcja DML Na Tabeli
Możliwości sprawdzenia kiedy miała miejsce ostatnia zmiana na tabeli są dwie i opierają się na dwóch zgoła innych założeniach. Pierwsza dotyczy sprawdzenia daty modyfikacji całej tabeli, druga na dacie modyfikacji rekordów w tej tabeli.
DROP TABLE T1 / CREATE TABLE T1(id NUMBER) / INSERT INTO T1 VALUES(1) / SELECT * FROM dba_tab_modifications WHERE table_owner = USER AND table_name = 'T1' /
TABLE_NAME INSERTS UPDATES DELETES TIMESTAMP
---------- ------- ------- ------- ------------------
T1 1 0 0 07-APR-23 01.25.57
Wyciąganie informacji z tabeli DBA_TAB_MODIFICATIONS umożliwia wgląd w to, kiedy operacja DML zmiała miejsce i ile operacji wstawiania, modyfikowania i usuwania zostało wykonanych. Ważna jest tutaj świadomość, że dane te zliczane są od czasu ostatniego zebrania statystyk. Zebranie statystyk zeruje te informacje.
Drugim sposobem, jest wyciąganie informacji bezpośrednio z rekordów tabeli
SELECT MAX(ora_rowscn) AS o1, SCN_TO_TIMESTAMP(MAX(ora_rowscn)) AS s1 FROM T1 /
O1 S1
-------------- -------------------------------
18338538330298 07-APR-23 01.25.57.000000000 PM
I tutaj również, to co zostanie zwrócone zależy od daty ostatnio zebranych statystyk.