ROWID е физическото местоположение на реда. Следователно това е най-бързият начин за намиране на ред, по-бърз дори от търсенето на първичен ключ. Така че може да бъде полезно при определени типове транзакции, където избираме някои редове, съхраняваме техните ROWID и след това използваме ROWID в where
клаузи за DML срещу същите тези редове.
Синтаксисът на Oracle SELECT ... FOR UPDATE имплицитно използва ROWID, когато актуализираме заключения ред, използвайки WHERE CURRENT OF. Също така таблицата EXCEPTIONS (посочена при прилагане на ограничения с клаузата EXCEPTIONS INTO) има колона ROW_ID. Това ни позволява бързо да идентифицираме редовете, които нарушават нашето ограничение.
Последният пример насочва към друга обща употреба:когато пишем някакъв общ код и се нуждаем от механизъм за съхранение на UID без притеснения относно типа данни, съставните ключове и т.н.
ROWNUM от друга страна е псевдоколона, която маркира ред в даден набор от резултати. Няма постоянно значение.
редактиране
ROWID за даден запис може да се промени през целия живот на системата, например чрез повторно изграждане на таблица. Също така, ако един запис бъде изтрит, може да бъде даден нов запис, този ROWID. Следователно ROWID не са подходящи за използване като UID в дългосрочен план. Но те са достатъчно добри за използване в рамките на транзакция.