Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle:Dlaczego nie mogę polegać na ROWNUM w klauzuli usuwania?

Dzieje się tak, ponieważ ROWNUM jest pseudokolumną, co oznacza, że ​​fizycznie nie istnieją. Możesz lepiej użyć rowid aby usunąć rekordy.

Aby usunąć duplikaty, możesz spróbować w ten sposób:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. liczba Oracle null na kolumny

  2. wstawianie wielu wierszy w Oracle SQL

  3. Zablokowane wywołanie niezdefiniowanej funkcji oci_connect() przy użyciu XAMPP

  4. Pobierz różne wartości za pomocą LITAGG w Oracle 12C

  5. Jak pominąć komunikat o pomyślnym zakończeniu procedury PL/SQL w sqlplus?