Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:Mengapa saya tidak bisa mengandalkan ROWNUM dalam klausa penghapusan

Ini karena ROWNUM adalah kolom semu yang menyiratkan bahwa mereka tidak ada secara fisik. Anda dapat lebih baik menggunakan rowid untuk menghapus catatan.

Untuk menghapus duplikat Anda dapat mencoba seperti ini:

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. Cara mendapatkan informasi catatan sebelumnya

  2. Pemicu Oracle setelah memasukkan atau menghapus

  3. Ambil Pesan dari Kotak Surat Menggunakan PL/SQL Mail_Client API

  4. Tidak dapat melihat Penyedia Data Oracle untuk .NET di Visual Studio 2012 RC

  5. Oracle REGEXP_SUBSTR | Ambil string di antara dua pembatas