Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle:Tại sao tôi không thể dựa vào ROWNUM trong mệnh đề xóa

Điều này là do ROWNUM là một cột giả ngụ ý rằng chúng không tồn tại trên thực tế. Bạn có thể sử dụng rowid tốt hơn để xóa các bản ghi.

Để loại bỏ các bản sao, bạn có thể thử như sau:

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. Tránh gọi thường xuyên đến cùng một chế độ xem bên trong một thủ tục Oracle

  2. In từng ký tự từ một chuỗi (VARCHAR2) oracle sql mà không cần sử dụng plsql và cũng không cần sử dụng kép

  3. Làm thế nào để đặt tên bảng oracle không phân biệt chữ hoa chữ thường?

  4. ORA-00933 Lệnh SQL không được kết thúc đúng cách nhưng tốt trong SQL Developer

  5. tạo trường mật khẩu trong oracle