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

Назначение

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