sql >> Databáze >  >> RDS >> Oracle

Je bezpečné používat ROWID k nalezení řádku/záznamu v Oracle?

"Od Oracle 8 ROWID formát a velikost změněny z 8 na 10 bajtů. Všimněte si, že ROWID 's se změní, když reorganizujete nebo exportujete/importujete tabulku. V případě rozdělené tabulky se také změní, pokud řádek migruje z oddílu do jiného během UPDATE ."

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

Řekl bych, že ne. To by mohlo být bezpečné, pokud například aplikace ukládá ROWID dočasně (řekněme vygenerování seznamu volitelných položek, z nichž každá je označena ROWID , ale seznam se běžně regeneruje a neukládá se). Ale pokud ROWID se používá jakýmkoli trvalým způsobem, není to bezpečné.



  1. SQL vybírá data z více tabulek

  2. Spojení tabulek z jiné databáze

  3. mysql:Nemůžeme vytvořit spouštěče na systémových tabulkách?

  4. Co je lepší - vyvolání výjimky nebo kontrola chyb předem