Выделение памяти под динамический курсор

Назначение

Задав имя курсорной переменной, мы лишь уведомили прекомпилятор о существовании ее в программе. Для того чтобы с ней работать, необходимо выделить под нее память. Это осуществляется с помощью оператора встроенного языка ALLOCATE.

Синтаксис
 
EXEC SQL ALLOCATE:< имя курсорной переменной >;
Описание
  1. < Имя курсорной переменной > должно быть ранее объявлено в секции описаний переменных основного языка.

  2. Выделение памяти под курсор не требует обращения к серверу БД.

  3. Запрашиваемая под курсор память выделяется на этапе выполнения приложения. Если оператор выделения памяти под курсор содержит ошибку (например, ссылку на необъявленную курсорную переменную), она будет выявлена на этапе прекомпиляции. Выделение памяти под курсоры может породить проблему утечки памяти, т.к. выделенная под курсор память освобождается не при закрытии курсора, а только при явном указании освободить память (см. DEALLOCATE).