Семейство типов ROWID

ROWID- абсолютно аналогичен типу, используемому для работы с псевдостолбцами ROWID базы данных. Он дает возможность сохранять идентификаторы строк (rowid), которые можно рассматривать в качестве ключей, однозначно определяющих каждую строку базы данных. Идентификаторы строк хранятся внутри базы данных в виде двоичных значений фиксированной длины, размер которых зависит от используемой операционной системы. Для работы с идентификаторами строк их можно преобразовать в последовательности символов при помощи встроенной функции ROWIDTOCHAR.

Идентификаторы строк обычно не создаются программами PL/SQL, они выбираются из псевдостолбца ROWID таблицы. Выбранное значение может быть использовано в предложении WHERE последующего оператора UPDATE или DELETE.

 

UROWID- хотя каждая строка в таблице, доступной в базе данных Oracle, имеет адрес, это может быть не физический адрес. Например, строки в индексно-организованных таблицах имеют логический rowid, который основывается на первичном ключе таблицы. Таблицы в базах данных, отличных от Oracle, но доступных через шлюз, также имеют логические rowid. Тип данных UROWID может содержать как физический rowid (т.е. типа ROWID), так и логический rowid. Oracle рекомендует использовать UROWID в новых приложениях, так как он является более гибким.