
130
Выполнимая процедура - это обычная программа, которая получает не-
сколько (возможно, и ноль) параметров, выполняет какие-либо действия в
базе данных и возвращает несколько (возможно, и ноль) значений.
Процедура выбора - это программа, которая получает несколько (воз-
можно, и ноль) параметров, выполняет какие-либо действия в базе данных и
возвращает множество (возможно, пустое) наборов значений.
Другими словами, процедура выбора создает вычисляемую таблицу,
хотя такая таблица никуда и не записывается. Это позволяет обращаться к
процедуре, как к таблице, используя команду SELECT.
Синтаксически можно обращаться к выполнимой процедуре, как к
процедуре выбора, получая при этом в ответ в точности одну строку, а к про-
цедуре выбора, как к выполнимой, получая при этом в ответ первую строку
формируемой таблицы. Ценность такой инверсии обращений в лучшем слу-
чае нулевая, поэтому, несмотря на отсутствие прямого запрета ее использо-
вания, нет оснований для практического применения инверсных вызовов
хранимых процедур.
16.1 Создание хранимых процедур
Хранимые процедуры создаются командой CREATE PROCEDURE в
ISQL. Во внедренном SQL команда недоступна. Хранимая процедура состоит
из заголовка и тела. Заголовок хранимой процедуры содержит:
- Имя процедуры, которое должно быть уникальным среди имен про-
цедур, таблиц и обзоров в базе данных.
- Необязательный список параметров процедуры, передаваемых проце-
дуре вызывающими приложениями, с указанием их типов данных.
Для процедур, возвращающих значения вызывающим приложениям,
необходимо указать список возвращаемых параметров с указанием их типов.
Список указывается после ключевого слова RETURNS.
Тело процедуры содержит:
- Необязательный список локальных переменных с указанием их типов.
Блок операторов на языке процедур и триггеров, заключенный в опера-
торные скобки BEGIN-END. Сам блок может содержать внутри себя другие
блоки. Количество вложений блоков практически не ограничено.