Открытие статического курсора

Назначение

Открытие статического курсора.

Синтаксис
 
<​открытие статического курсора​>::=
EXEC SQL [AT <​имя соединения​>]
OPEN <​имя курсора​>
[EXCLUSIVE | OPTIMISTIC | {SHARED| AUTOCOMMIT}]
[ {<​использование переменных основного языка​>
| <​использование дескриптора​>} ]
<​использование переменных основного языка​>::=
{ USING } <​ переменная основного языка​> [ {, <​ переменная основного языка​>} …} ]
<​использование дескриптора​>::=
{ USING } SQL DESCRIPTOR <​имя дескриптора​>
Описание
  1. <​Имя соединения​> задает соединение, по которому открывается курсор. Значение параметра может быть задано переменной типа «соединение» (DATABASE) либо символьной константой. В любом случае заданное значение должно быть ранее использовано в операторе CONNECT. Если параметр <​имя соединения​> опущен, курсор открывается для неименованного соединения. При открытии курсора на соединении создается дочерний канал, которому присваивается имя курсора (первые 18 символов).

  2. Если модуль претранслирован в режиме совместимости со старой версией PCC (ключ -V претранслятора), то помимо собственно открытия дочернего канала оператор OPEN исполняет предложение SQL, иначе исполнение предложения откладывается до первого вызова оператора FETCH в данном курсоре.

  3. SHARED является синонимом AUTOCOMMIT.

  4. Конструкция [EXCLUSIVE | OPTIMISTIC | {SHARED| AUTOCOMMIT}] задает способ обработки транзакций в канале, соответствующем курсору. Если конструкция не задана, по умолчанию используется режим соединения. Не рекомендуется задавать различающиеся режимы работы курсора и соединения.

    Примечание

    Режим OPTIMISTIC устарел (использовать не рекомендуется).

  5. Параметр USING <​список переменных​> используется для привязки в момент открытия курсора других входных переменных (отличающихся от тех, которые были установлены при объявлении предложения SQL).

  6. Параметр USING DESCRIPTOR <​имя дескриптора​> используется для открытия динамического курсора. Дескриптор должен быть предварительно объявлен с помощью директивы SQL DESCRIBE и инициализирован (см. SET DESCRIPTOR).