Using rowid in delete statement

Are there any STRONG contraindications for rowid removal?

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);
+5
source share
2 answers

If you assume that it min(rowid)returns the “earliest” string, then yes, you have a problem (because it will not)

If you use min(rowid)only to get one of the duplicates (and you do not care), then no, there is nothing wrong with this statement.

+9
source

, . , rowid, ( min (rowid)...). . , , - (, ), . , .

, , . , - .

, /, pl/sql x .

+2

All Articles