Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle:Защо не мога да разчитам на ROWNUM в клауза за изтриване

Това е така, защото ROWNUM е псевдо колона, което предполага, че те не съществуват физически. Можете по-добре да използвате rowid за изтриване на записите.

За да премахнете дубликатите, можете да опитате по следния начин:

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. CURRENT_TIMESTAMP() Функция в Oracle

  2. LiveSQL продължава да ми показва това:ORA-00933:SQL командата не е приключила правилно

  3. EM 12c Регулиране на праговите стойности

  4. hibernate.jdbc.fetch_size или @QueryHints(@javax.persistence.QueryHint(name=org.hibernate.fetchSize, value=10)) не работи

  5. Анотацията на Seam @Transactional не работи?