2013-12-05 3 views
1

В СУБД, возможно ли получить идентификатор автоинкремента, который был бы сгенерирован в определенные даты и время?Учитывая дату и время, есть ли способ узнать, какой идентификатор автоинкремента был создан в то время?

Мне нужно написать определенный запрос диапазона, и есть первичный ключ с автоматическим инкрементом, который ускорит мой запрос. Тем не менее, я знаю только диапазон времени, который меня интересует, а не фактические первичные ключи.

Возможно ли это: Получить идентификатор автоинкремента, сгенерированный на дату x и дату y, а затем использовать его в моем запросе?

Спасибо, Картик

+0

@ user357065: Будет полезно понять, если вы покажете некоторые данные –

+3

Если вы не храните эту информацию где-то, нет. Вы можете добавить поле CreationDate, но вы не сможете восстановить свою историю. Это может быть * возможно вернуть базу данных в предыдущее состояние в определенную дату/время, но это было бы громоздкой работой. После вопроса, поскольку это может быть интересно :) – LittleSweetSeas

+0

, если вам нужно запустить его один раз, то просто используйте даты (кто волнует, все ли это сканирование, просто подождите). Если по какой-то причине вам нужно запускать это снова и снова для того же диапазона дат, то возможно: выберите min (id), max (id) из my_table, где my_date_col между dateA и dateB. Затем используйте эти идентификаторы для запроса диапазона – tbone

ответ

0

Если у вас есть создать или дату обновления даты в таблице, которая использует последовательность, вы можете получить эту информацию. В oracle вы можете создать триггер для сбора этой информации в отдельной таблице. Другой вариант - настроить ведение журнала MVIEW в целевой таблице.

Смежные вопросы