Witam,
czy istnieje w Oraclu funkcja/polecenie które wypisuje ostatnio wstawione wartości do bazy danych?
Z góry dziękuję za każdą pomoc :)
nie ma ale jest zapisywane każde polecenie SQLowe. http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2129.htm
@abrakadaber nie zgodzę się.
Da się to zrobić z wykorzystaniem technologii Oracle flashback.
SELECT versions_starttime,
versions_endtime,versions_operation,
jakieśtam_twoje_pole
FROM jakaśtam_twoja_tabela
VERSIONS BETWEEN TIMESTAMP
TO_TIMESTAMP('2012-10-21 19:20:00', 'YYYY-MM-DD HH24:MI:SS')
AND TO_TIMESTAMP('2012-10-21 19:21:00', 'YYYY-MM-DD HH24:MI:SS')
WHERE versions_operation='I';
to nam wypisze inserty do tabeli jakaśtam_twoja_tabela dla podanego timestampa
A to:
SELECT versions_xid XID, versions_startscn START_SCN,
versions_endscn END_SCN, versions_operation OPERATION,
jakieśtam_twoje_pole
FROM jakaśtam_twoja_tabela
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE versions_operation='I';
Wszystkie transakcje z insertami dla danej tabeli (*wszystkie -> flashback przechowuje tylko dane przez pewien czas!)
polecam poczytać: http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm
tylko, że trzeba mieć uruchomione Flashback Transaction no i dane tam trzymane są tylko jakiś czas. No i nie wiem czy było to przed 10i. Ale jednak masz rację - da się
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.