"Выполняемые" хранимые процедуры
Оператор EXECUTE PROCEDURE
является наиболее часто используемым стилем вызова хранимой процедуры, которая написанадля модификации некоторых данных. Их код не содержит оператора SUSPEND
.Такие хранимые процедуры могут возвратить набор данных, состоящий не более чем из одной строки.Этот набор может быть передан в переменные другой (вызывающей) процедуры с помощью предложения RETURNING_VALUES
.Клиентские интерфейсы, как правило, имеют обертку API, которые могут извлекать выходные значения в однострочный буфер при вызове процедуры через EXECUTE PROCEDURE
в DSQL.
При вызове с помощью EXECUTE PROCEDURE
процедур другого типа (селективных процедур) будет возвращена только перваязапись из результирующего набора, несмотря на то, что эта процедура скорее всего должна возвращать многострочный результат."Селективные" хранимые процедуры должны вызываться с помощью оператора SELECT
, в этом случае они ведут себя как виртуальные таблицы.
Note
|
|
EXECUTE PROCEDURE
в PSQLEXECUTE PROCEDURE MakeFullName(:First_Name, :Middle_Name, :Last_Name)
RETURNING_VALUES :FullName;
В этом операторе использование двоеточия (“:”) для входных и выходных параметров необязательно.
Разрешено использовать выражения в качестве параметров.
EXECUTE PROCEDURE MakeFullName
('Mr./Mrs. ' || First_Name, Middle_Name, upper(Last_Name))
RETURNING_VALUES FullName;
EXECUTE PROCEDURE
в isql
EXECUTE PROCEDURE MakeFullName
'J', 'Edgar', 'Hoover';