64
дуры. С помощью выходных параметров хранимые процедуры возвращают
значения, вычисленные в ходе выполнения процедуры.
Многие СУБД поддерживают хранимые функции, которые отличаются
от хранимых процедур тем, что возвращают значение. InterBase не поддер-
живает хранимых функций. В InterBase для возврата значений из хранимых
процедур применяются выходные параметры.
Некоторые СУБД поддерживают параметры, которые одновременно
являются и
входными, и выходными. InterBase не поддерживает такой воз-
можности.
Для параметров и локальных переменных хранимых процедур исполь-
зуются те же типы данных, которые поддерживаются СУБД для столбцов
таблиц.
Синтаксис оператора создания хранимой процедуры в InterBase:
CREATE PROCEDURE Имя_Процедуры
[(Параметр <тип данных> [,
Параметр <тип данных> ...])]
[RETURNS (Параметр <тип данных> [,
Параметр <тип данных> ...])]
AS [<список переменных>] <блок>;
<список переменных> =
DECLARE [VARIABLE] Переменная <тип данных>;
[DECLARE [VARIABLE] Переменная <тип данных>; ...]
<блок> =
BEGIN
<составной оператор>
[<составной оператор>...]
END
<составной оператор> = <блок> | Оператор;
<тип данных> = однин из типов данных InterBase (табл. 1 на стр. 15)
Оператор – любой одиночный оператор языка хранимых процедур и триг-
геров InterBase.
Внутри хранимых процедур может быть предусмотрена обработка ис-
ключений. Хранимые процедуры могут быть вложенными и рекурсивными,
т.е. вызывающими сами себя.
Основные преимущества хранимых процедур:
1. Производительность – перенос на сервер
часто используемых действий
приводит к существенному повышению производительности.
2. Многократное использование кода – части приложения, перенесенные на
сервер, могут использоваться любыми другими приложениями, имеющи-
ми доступ к серверу.