Oracle
 sql >> Database >  >> RDS >> Oracle

Aggiorna una colonna della stessa tabella se sono presenti record duplicati

È possibile utilizzare la funzione analitica row_number() e rowid per ottenere le righe:

UPDATE test_dup
   SET done = 'error'
 WHERE ROWID IN (SELECT ROWID
                   FROM (SELECT acc_num, tel_num, imsi, ROW_NUMBER () OVER (PARTITION BY acc_num, tel_num, imsi ORDER BY acc_num) AS ROW_NUMBER FROM test_dup)
                  WHERE ROW_NUMBER > 1)