FirebirdSQL logo

Селективные хранимые процедуры

Селективные хранимые процедуры обычно осуществляют выборку данных из базы данных и возвращают при этом произвольное количество строк.

Такие процедуры позволяют получать довольно сложные наборы данных, которые зачастую невозможно или весьма затруднительно получить с помощью обычных DSQL SELECT запросов.Обычно такие процедуры выполняют циклический процесс извлечения данных, возможно преобразуя их, прежде чем заполнить выходные переменные (параметры) новыми данными на каждой итерации цикла.Оператор SUSPEND, обычно расположенный в конце каждой итерации, заполняет буфер и ожидает пока вызывающая сторона не выберет (fetch) строку.

Селективные процедуры могут иметь входные параметры и выходное множество, заданное в предложении RETURNS заголовка процедуры.

Обращение к селективной хранимой процедуре осуществляется при помощи оператора SELECT(см. Выборка из селективной хранимой процедуры).См. пример создания селективной хранимой процедурыв конце раздела CREATE PROCEDURE главы “Операторы определения данных DDL”.

Создание хранимой процедуры

Синтаксис создания выполняемых хранимых процедур и селективных процедур ничем не отличается.Разница заключается в логике программного кода.

Для получения информации о создание хранимых процедур см. CREATE PROCEDURE в главе “Операторы определения данных DDL”.