Пример запроса Flashback Version Query

В примере на рисунке извлекается оклад сотрудника 107 (1). Оклад сотрудника 107 повышается на 30 процентов и это изменение фиксируется (2). Разные версии оклада выводятся на экран (3).

4-39-9554039

Предложение VERSIONS не изменяет план запроса. Например, если выполняется запрос таблицы, в которой используется метод индексного доступа, тогда тот же запрос той же таблицы с предложением VERSIONS продолжает использовать метод индексного доступа.

Версии строк, возвращаемые запросом версий, являются версиями строк по транзакциям.

Предложение VERSIONS не оказывает влияния на поведение запроса как транзакции. Это означает, что запрос в таблице с предложением VERSIONS по-прежнему наследует среду запроса текущей транзакции.

Предложение VERSIONS, используемое по умолчанию, может задаваться как VERSIONS BETWEEN {SCN|TIMESTAMP} MINVALUE AND MAXVALUE.

Предложение VERSIONS является расширением SQL для запросов. Могут присутствовать операции DML и DDL, использующие предложение VERSIONS в подзапросах. Запрос версий строк извлекает все зафиксированные версии выбранных строк. Изменения, внесенные текущей активной транзакцией, не возвращаются. Запросом версий возвращаются все воплощения строк. Это по существу означает, что возвращаемые версии включают удаленные и затем повторно вставленные версии строк.

Доступ к строкам для запроса версий может определяться в одной из следующих двух категорий:

  • Доступ к строкам на основе идентификатора ROWID. В случае доступа на основе идентификатора ROWID все версии заданного идентификатора ROWID возвращаются независимо от содержимого строк. Это по существу означает, что возвращаются все версии сегмента в блоке, указанном идентификатором ROWID.
  • Все другие виды доступа к строкам. Для всех других видов доступа к строкам возвращаются все версии строк.

Далее: Создание отчетов базы данных

Related Posts