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.

Komentarze |0|

Legenda *) Pola oznaczone gwiazdką są wymagane
**) Możesz używać tych znaczników i atrybutów HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>