Название	Назначение
FILEISOPEN	Проверяет, открыт ли указанный BFILE
FILEOPEN	Открывает указанный BFILE
ERASE	Удаляет все или часть содержимого LOB (это не то же самое, что установить LOB в NULL)
GETLENGTH         Возвращает длину заданного LOB (в байтах или символах, в зависимости от типа LOB)
INSTR	Возвращает смещение n-го экземпляра заданного образца в LOB
READ	Читает порцию LOB в указанный буфер
SUBSTR	Возвращает часть LOB с данным смещением и длиной
TRIM	Сокращает размер экземпляра LOB путем удаления символов или байтов в конце LOB
WRITE	Записывает определенное количество байтов в область ____________LOB с заданным смещением_________________
LOB физически отделяется от остальных структурированных данных строки. В этой строке имеется локатор (locator), который аналогичен указателю в языке программирования. Когда создается новая строка, локатор по умолчанию имеет значение NULL. Перед тем как загружать LOB- или BFILE-данные, необходимо инициализировать локатор, вызвав функцию EMPTY_BLOB или функцию EMPTY_CLOB. Настроив локатор, вы можете вызывать перечисленные в приведенной выше таблице LOB-функции для загрузки и манипулирования данными. Поскольку LOB-данные отделены от остальной части строки, решается проблема медленного выполнения полного сканирования таблицы. (Это работает, потому что LOB-данные читать не нужно.)
Данный подход имеет еще одно достоинство. Поскольку LOB-данные находятся в отдельном сегменте с собственными параметрами хранения и стратегией управления (или, как в случае с BFILE, во внешнем файле), то проектировщику уже не нужно пытаться размещать и короткие структурированные, и длинные неструктурированные записи в одной таблице. Раньше единственный путь, который могли в такой ситуации выбрать проектировщики, заключался в использовании компромиссной стратегии, далеко не идеальной ни для одного из этих типов записей.
74
OraclcS