powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление дубликатов в таблице одним запросом
7 сообщений из 32, страница 2 из 2
Удаление дубликатов в таблице одним запросом
    #39568910
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter,

Можно и так, я думаю

Код: plsql
1.
2.
3.
4.
delete from TABLE1 
where RowId in (select lag(RowId) over (partition by Field /*набор полей*/
                                                           order by null/*порядок для оставить*/) 
                         from TABLE1)



Или так, проще выставлять сортировку для оставшихся
Код: plsql
1.
2.
3.
4.
delete from TABLE1 
where RowId not in (select lag(null,1,RowId) over (partition by Field /*набор полей*/
                                                           order by null/*порядок для оставить*/) 
                         from TABLE1)
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39568920
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXLИли такnot in null
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39568932
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousДобрый Э - Эх решение из другого ... :)
Stax.. жосткий такой :)

надеюсь пользоваться merge не будут (кроме дба)

зы
мне нравится вариат с индексом

....
stax
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39568933
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-MaximaXXLИли такnot in null

Что то тупанул , сенкс
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39568998
Staxandrey_anonymousпропущено...

Stax.. жосткий такой :)

надеюсь пользоваться merge не будут (кроме дба)

зы
мне нравится вариат с индексом

....
stax

а почему тебе не нравится мерж?
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39569029
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйМакса почему тебе не нравится мерж?

А потому что ты доку не читаешь:

докaSpecify the DELETE where_clause to clean up data in a table while populating or updating it. The only rows affected by this clause are those rows in the destination table that are updated by the merge operation. The DELETE WHERE condition evaluates the updated value, not the original value that was evaluated by the UPDATE SET ... WHERE condition. If a row of the destination table meets the DELETE condition but is not included in the join defined by the ON clause, then it is not deleted. Any delete triggers defined on the target table will be activated for each row deletion.


Т.e. MERGE вначале выполнит UPDATE/INSERT и только затем DELETE? Оно тебе надо?

SY.
...
Рейтинг: 0 / 0
Удаление дубликатов в таблице одним запросом
    #39569145
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйМакса почему тебе не нравится мерж?

зачем такие сложности, если есть замечательный rowid

ps
там условие было с хитринкой

.....
stax
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Удаление дубликатов в таблице одним запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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