Oracle
 sql >> база данни >  >> RDS >> Oracle

оракул | изтриване на дублиращи се записи

Дори и да нямате първичен ключ, всеки запис има свързан уникален rowid.

Като използвате заявката по-долу, вие изтривате само записите, които нямат максимален идентификатор на ред, като самостоятелно се присъедините към таблица с колоните, които причиняват дублиране. Това ще гарантира, че ще изтриете всички дубликати.

DELETE FROM PPLP_LOAD_GENSTAT plg_outer
WHERE ROWID NOT IN(
  select   MAX(ROWID)
  from     PPLP_LOAD_GENSTAT plg_inner
  WHERE    plg_outer.pplp_name = plg_inner.pplg_name
  AND      plg_outer.start_time= plg_inner.start_time
  AND      plg_outer.end_time  = plg_inner.end_time
);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Симулиран OLAP

  2. Задаване на езикови параметри на Oracle за DG4ODBC

  3. Как да получите достъп до базата данни на Oracle през мрежа?

  4. dbms_output препълване на буфер с размер

  5. Деклариране на потребителско дефинирано изключение с помощта на метод RAISE_APPLICATION_ERROR в базата данни на Oracle