Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Historia rekordów Oracle przy użyciu sygnatury czasowej w zakresie

Tak, w ten sposób:

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

Pamiętaj, że odległość, jaką możesz się cofnąć, jest ograniczona parametrem UNDO_RETENTION i zazwyczaj będzie to godziny, a nie dni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PROCEDURA ORACLE — AUTHID dozwolone tylko na poziomie schematu

  2. Dlaczego w SQL NULL nie może się równać z NULL?

  3. Zduplikowana definicja dla:„identifiedType”

  4. SET SQLBLANKLINES:Jak zezwolić na puste wiersze w SQLcl i SQL*Plus

  5. Odmowa dostępu do sieci Oracle 12c Apex 4.2 ORA-24247 przez listę kontroli dostępu (ACL)