В этом семействе представлены два типа: и UROWID. UROW1D доступен в Огас1е8 г и выше.
ROWID Тип PL/SQL ROWID абсолютно аналогичен типу, используемому для работы с псевдостолбцами ROWID базы данных. Он дает возможность сохранять идентификаторы строк которые можно рассматривать в качестве ключей, однозначно определяющих каждую строку базы данных. Идентификаторы строк хранятся внутри базы данных в виде двоичных значений фиксированной длины, размер которых зависит от используемой операционной системы. Для работы с идентификаторами их можно преобразовать в последовательности символов при помо-
щи встроенной функции ROWIDTOCHAR. Результатом работы этой функции является последовательность, имеющая в
формат:
щи встроенной функции ROWIDTOCHAR. Результатом работы этой функции является последовательность, имеющая в
формат:
BBBBBBBB.RRRR.FFFF
где определяет блок в файле базы данных, RRRR — строку в
блоке, a FFFF — номер файла. Каждый элемент идентификатора строки
представлен в виге числа. Например, идентификатор
представлен в виге числа. Например, идентификатор
0000001E.OOFF.0001
указывает на 30-й блок, 255-ую строку в этом блоке, который расположен в файле 1. В базах данных и выше идентификатор строки rowid
использует расширенный формат, который также является 18-символьной строкой, редставляющей значение в записи base-64. Компоненты расширенного формата rowid можно определить с помощью модуля DBMS_ROWID, описанного в приложении А.
Идентификаторы строк обычно не создаются программами PL/SQL; они выбираются из псевдостолбца ROWID таблицы. Выбранное значение может быть использовано в предложении WHERE последующего оператора UPDATE или DELETE.
UROWID Хотя каждая строка в таблице, доступной в базе данных Oracle, имеет адрес, это может быть не физический адрес. Например, строки
в индексно-организованных таблицах имеют логический rowid, который основывается на первичном ключе таблицы. Таблицы в базах данных, отличных от Oracle, но доступных через шлюз, также имеют логические
rowid. Тип данных UROWID может содержать как физический rowid (т.е. типа ROWID), так и логический rowid. Oracle рекомендует использовать UROWID в новых приложениях, так как он является более гибким.
Дополнительную информацию о логических rowid и индексно-организованных таблицах можно найти в "Oracle Concepts".
< Предыдущая | Следующая > |
---|