For det første, forpligtede du dig til ændringen? Hvis ikke, kan du blot udstede en rollback
for at fortryde dine ændringer.
Hvis du antager, at du har foretaget dine ændringer, ændrer andre brugere så tabellen på samme tid? Har du brug for at bevare de ændringer, som andre har foretaget, og kun fortryde de ændringer, du har foretaget i din transaktion? Eller kan du gendanne hele tabellen til et tidspunkt, før dine ændringer blev foretaget?
Hvis du kan gendanne hele tabellen til et tidspunkt
FLASHBACK TABLE <<table name>>
TO TIMESTAMP( systimestamp - interval '10' minute )
vil returnere en tabel til den tilstand, den var i for 10 minutter siden, forudsat at UNDO
nødvendigt for at gøre det forbliver tilgængelig (så du kun har en begrænset tid efter at have lavet en fejl til at kunne flashback den fejl). For at udstede en FLASHBACK TABLE
, det skal du også sørge for
- Tabellen har aktiveret rækkebevægelse
ALTER TABLE <<table name>> ENABLE ROW MOVEMENT
- Du skal have
FLASHBACK
privilegier på bordet ellerFLASHBACK ANY TABLE
systemrettigheder.