Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Найти "дыры" в исторической таблице. Способ ? / 3 сообщений из 3, страница 1 из 1
21.01.2017, 09:48
    #39388843
Liveinlevis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти "дыры" в исторической таблице. Способ ?
Добрый день ! Имеется куча исторических таблиц в которых необходимо искать нарушения историчности. Суть проблемы:

Имеется историческая таблица table1 вида:
id - number, id
number_history, - number номер записи в истории по порядку 1,2,3 ...
start_date - date, дата начала записи
end_date - date, дата конца записи

По правилам заполнения, следующая историческая запись в этой таблице должна быть такой
Поле start_date следующей записи равен полю end_date предыдущей записи.
Внутри одной записи соблюдается условие: start_date <= end_date

Как найти нарушения условий ? К примеру когда start_date следующей записи > end_date
предыдущей и все пересечения, когда временные диапазоны разных записей могут пересекаться, накладываться ?
...
Рейтинг: 0 / 0
21.01.2017, 10:35
    #39388855
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти "дыры" в исторической таблице. Способ ?
LiveinlevisКак найти нарушения условий ? К примеру когда start_date следующей записи > end_date предыдущейRTFM LAG/LEAD
Liveinlevisвсе пересечения, когда временные диапазоны разных записей могут пересекаться, накладываться ? STFF
...
Рейтинг: 0 / 0
22.01.2017, 09:59
    #39389011
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти "дыры" в исторической таблице. Способ ?
Liveinlevis,

исключите возможность создавать дыры, в принципе - и все наладится
см Логический констрэйнт
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Найти "дыры" в исторической таблице. Способ ? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]