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

Czy używanie ROWID do lokalizowania wiersza/rekordu w Oracle jest bezpieczne?

„Z Oracle 8 ROWID zmieniono format i rozmiar z 8 na 10 bajtów. Zwróć uwagę, że ROWID Zmieni się, gdy reorganizujesz lub eksportujesz/importujesz tabelę. W przypadku tabeli partycjonowanej zmienia się również, jeśli wiersz migruje z partycji do innej podczas UPDATE ”.

http://www.orafaq.com/wiki/ROWID

Powiedziałbym nie. Może to być bezpieczne, jeśli na przykład aplikacja przechowuje ROWID tymczasowo (powiedzmy generowanie listy elementów możliwych do wybrania, z których każdy jest identyfikowany za pomocą ROWID , ale lista jest rutynowo odtwarzana i nie jest przechowywana). Ale jeśli ROWID jest używany w trwały sposób, który nie jest bezpieczny.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dialekt hibernacji dla wyroczni 12c

  2. Zapytanie o grupę/liczbę Oracle

  3. Dlaczego otrzymuję ten wyjątek SQLSyntaxErrorException:ORA-00933:Polecenie SQL nie zostało poprawnie zakończone, gdy próbuję wykonać to zapytanie JDBC?

  4. Jak generować instrukcje DELETE w PL/SQL na podstawie relacji FK tabel?

  5. Grupuj według, aby utworzyć pionową koalescencję