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

Назначение

Объявление прототипа хранимой процедуры, которая может быть исполнена с помощью оператора 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. В отличие от синтаксиса процедурного блока (см. документ «Процедурный язык»), описание курсора, возвращаемого процедурой, не содержит расшифровку его полей.