Using rowid in a delete statement

oracle, sql-delete

Solution

If you assume that `min(rowid)` returns the "earliest" row, then yes, you have a problem (because it won't)

If you use `min(rowid)` only to get one of the duplicates (and you don't care which), then no, there is nothing wrong with that statement.

Problem

Is there any SEVERE contraindications to delete using rowid? ``` DELETE FROM NETATEMP.SFAC_TESTATA_CASISTICHE WHERE ROWID IN ( SELECT MIN (ROWID) FROM NETATEMP.SFAC_TESTATA_CASISTICHE GROUP BY ID_CASO, DESCRIZIONE_TECNICA, DESCRIZIONE_ANALISI, PDF, SCARTI, DATA_INIZIO_ANALISI, DATA_FINE_ANALISI, DATA_INSTRADAMENTO, DATA_RISOLUZIONE, STRINGA_RICERCA, SETTIMANA, DATA_INIZIO_SETT, DATA_FINE_SETT, FATTURAZIONE, IN_ELABORAZIONE HAVING COUNT (1) > 1); ```

Original source