Оглавление  | Назад  | Вперед

Справочник по инструкциям и функциям InterBase SQL

FETCH (BLOB)

Описание
Синтаксис
Примеры
Смотри так же

Описание

FETCH отыскивает следующий сегмент из BLOB и помещает его в определенный буфер.

Переменная (host variable) segment_length, указывает число выбранных байтов. Это полезно, когда число возвращенных байтов меньше, чем переменная, для примера, при выборки последней части BLOB.

FETCH может возвращать два значения переменной SQLCODE:

Обратите внимание: Чтобы гарантировать, что переменная буфера достаточно большая, для хранения буфера сегмента BLOB в течении операций FRETCH, используйте опцию SEGMENT в инструкции BASED ON.

Эта инструкция может быть использована в SQL.

К началу страницы...

Синтаксис

FETCH cursor INTO
[:<buffer> [[INDICATOR] :segment_length];
Аргумент Описание
cursor Имя открытого курсора BLOB из которого выбираются сегменты.
:<buffer> Переменная базового языка для хранения сегментов выбираемых из BLOB столбца. Пользователь должен объявить буфер прежде выборки сегментов в него.
INDICATOR Факультативное ключевое слово указывающее, что переменная базового языка предназначена, для указания количества байт, которое будет возвращено следующей инструкцией FETCH.
:segment_length Переменная базового языка используется, чтобы указать число байт возвращенных FETCH.

К началу страницы...

Примеры

Следующий код из внедренного приложения SQL, выполняет BLOB FETCH:

while (SQLCODE != 100)
{
  EXEC SQL
    OPEN BLOB_CUR USING :blob_id;
  EXEC SQL
    FETCH BLOB_CUR INTO :blob_segment :blob_seg_len;
  while (SQLCODE !=100 || SQLCODE == 101)
  {
    blob_segment{blob_seg_len + 1] = '\0';
    printf("%*.*s",blob_seg_len,blob_seg_len,blob_segment);
      blob_segment{blob_seg_len + 1] = ' ';
    EXEC SQL
      FETCH BLOB_CUR INTO :blob_segment :blob_seg_len;
  }
  . . .
}

К началу страницы...

Смотри так же:

К началу страницы...


Оглавление  | Назад  | Вперед