В общем, нет. Вам понадобится столбец date
в таблице.
Если загрузка была недавней, вы можете попробовать
select scn_to_timestamp( ora_rowscn ), t.*
from table t
Однако с этим
* 1008 есть несколько проблем. * Oracle знает только, как преобразовать последние SCN в временные метки (порядка нескольких дней). Возможно, вам потребуется создать новую функцию с именем
scn_to_timestamp
и обработать исключение, если SCN не может быть преобразован в метку времени. Преобразование SCN в метку времени является приблизительным (должно быть в пределах минута) Если таблица не была построена с
rowdependencies
(что не является значением по умолчанию), SCN сохраняется на уровне блоков, а не на уровне строк. Таким образом, если ваша загрузка изменила одну строку в блоке, все строки в блоке будут иметь одинаковый обновленный SCN. Если вы можете допустить выбор некоторых строк, которые были загружены ранее, и / или вы знаете, что ваша загрузка выполняет запись только в новые блоки, это может быть менее серьезной проблемой.
Помимо этого, вы будете глядя на такие вещи, как включение журналов воспоминаний или наличие какого-либо другого механизма для отслеживания версий данных.