powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UPDATE с OVER PARTITION BY
3 сообщений из 3, страница 1 из 1
UPDATE с OVER PARTITION BY
    #39720759
Festani_10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
есть таблица (магазин; товар; дата начала; дата окончания)
но в нее загружаются только первые три столбца

Входные данные приходит например строка магазин, товар, дата (1; 1; 01.01.2001)
следом же еще по этому магазину и товару приходит строка но с другой датой(1; 1; 01.01.2005)

на выходе нужно получить такие строки
1; 1; 01.01.2001; 31.12.2004
1; 1; 01.01.2005; 01.01.3000

запрос ниже срабатывает идеально

SELECT ITEM,
SITE ,
BEGIN_DATE ,
NVL(LEAD(Begin_date) OVER(PARTITION BY ITEM,SITE ORDER BY Begin_date) - 1, to_date('01.01.3000', 'dd.mm.yyyy')) AS END_DATE
FROM rable1

Возможно ли его как то переделать для UPDATE?
...
Рейтинг: 0 / 0
UPDATE с OVER PARTITION BY
    #39720760
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Festani_10Добрый день.
есть таблица (магазин; товар; дата начала; дата окончания)
но в нее загружаются только первые три столбца

Входные данные приходит например строка магазин, товар, дата (1; 1; 01.01.2001)
следом же еще по этому магазину и товару приходит строка но с другой датой(1; 1; 01.01.2005)

на выходе нужно получить такие строки
1; 1; 01.01.2001; 31.12.2004
1; 1; 01.01.2005; 01.01.3000

запрос ниже срабатывает идеально

SELECT ITEM,
SITE ,
BEGIN_DATE ,
NVL(LEAD(Begin_date) OVER(PARTITION BY ITEM,SITE ORDER BY Begin_date) - 1, to_date('01.01.3000', 'dd.mm.yyyy')) AS END_DATE
FROM rable1

Возможно ли его как то переделать для UPDATE?через merge

а это точно надо?
...
Рейтинг: 0 / 0
UPDATE с OVER PARTITION BY
    #39720769
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Festani_10для UPDATEЕсли приход пачками, небольшими по сравнению с данными в таблице, дешевле будет смерджить min входящих в имеющийся в единственном числе null. И вставлять новые строки c over только по ним.
Ну и уникалный индекс на null для гарантий.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / UPDATE с OVER PARTITION BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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