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

Oracle:Hvorfor jeg ikke kan stole på ROWNUM i en sletteklausul

Dette skyldes, at ROWNUM er en pseudo-kolonne, som antyder, at de ikke eksisterer fysisk. Du kan bedre bruge rowid for at slette posterne.

For at fjerne dubletterne kan du prøve sådan her:

DELETE FROM mytable a
WHERE EXISTS( SELECT 1 FROM mytable b
              WHERE a.id = b.id
              AND a.name = b.name
              AND a.rowid > b.rowid )


  1. forkert antal eller typer af argumenter i kald til P_AA

  2. Sådan installeres flere PostgreSQL-servere på RedHat Linux

  3. Sådan fungerer FIELD() i MariaDB

  4. Ryd Hibernate 2. niveaus cache efter manuel DB-opdatering