Объявление прототипа процедуры

Назначение

Объявление прототипа хранимой процедуры, которая может быть исполнена с помощью оператора EXECUTE PROCEDURE.

Синтаксис

 
<объявление прототипа>::=
EXEC SQL DECLARE PROCEDURE <прототип>;
<прототип>::=
<имя> (<список параметров>) [RESULT <тип результата>]
<имя>::= [<имя схемы>.]<имя процедуры>
<имя схемы>::= <идентификатор встроенного языка>
<имя процедуры>::= <идентификатор встроенного языка>
<список параметров>::= <параметр>[;<Параметр> ..]
<параметр>::= <модификатор> [<имя параметра>] <тип параметра>
<модификатор>::= {IN | OUT | INOUT}
<имя параметра>::= <идентификатор встроенного языка>
<тип параметра>::=
 { INT
 | SMALLINT
 | REAL
 | NUMERIC
 | CHAR()
 | BYTE()
 | DATE
 | BLOB }
<тип результата>::= {<тип параметра> | CURSOR}

Описание

  1. Если хранимая процедура создается (модифицируется) в модуле встроенного языка с помощью операторов { CREATE | ALTER } PROCEDURE, то использование оператора DECLARE PROCEDURE недопустимо – информация о прототипе берется из текста хранимой процедуры.

  2. Типы параметров служат для привязки параметров вызова хранимой процедуры к переменным основного языка.

  3. Если параметр RESULT пропущен, считается, что хранимая процедура возвращает NULL.

  4. В отличие от синтаксиса процедурного блока (см. документ «Процедурный язык»), описание курсора, возвращаемого процедурой, не содержит расшифровку его полей.