sql >> Database teknologi >  >> RDS >> Oracle

Oracle-registreringshistorik ved brug af tidsstempel inden for et område

Ja, sådan her:

SQL> select sal from emp where empno=7369;

       SAL
----------
      5800

SQL> update emp set sal = sal+100 where empno=7369;

1 row updated.

SQL> commit;

Commit complete.

SQL> update emp set sal = sal-100 where empno=7369;

1 row updated.      

SQL> commit;

Commit complete.

SQL> select empno, sal, versions_starttime,versions_xid
  2  from emp
  3  versions between timestamp sysdate-1 and sysdate
  4  where empno=7369;

     EMPNO        SAL VERSIONS_STARTTIME                                                          VERSIONS_XID
---------- ---------- --------------------------------------------------------------------------- --
      7369       5900 11-DEC-08 16.05.32                                                          0014001300002A74
      7369       5800 11-DEC-08 16.03.32                                                          000D002200012EB1
      7369       5800

Bemærk, at hvor langt tilbage du kan gå er begrænset af parameteren UNDO_RETENTION, og vil typisk være timer i stedet for dage.



  1. Hvordan får man et Shell-script til at fortsætte efter genstart?

  2. Sådan kontrolleres om værdi findes i en MySQL-database

  3. Sådan opretter du indeks for dynamiske søgestrenge

  4. SQL Server Unik sammensat nøgle af to felter med andet felt automatisk stigning