Входные и выходные параметры
Выполнение блока без входных параметров должно быть возможным с любым клиентом Firebird, который позволяет пользователю вводить свои собственные DSQL операторы.Если есть входные параметры, все становится сложнее: эти параметры должны получить свои значения после подготовки оператора, но перед его выполнением.Это требует специальных возможностей, которыми располагает не каждое клиентское приложение (Например, isql
такой возможности не предлагает).
Сервер принимает только вопросительные знаки ("?") в качестве заполнителей для входных значений, а не ":а
", ":MyParam
" и т.д., или литеральные значения.Клиентское программное обеспечение может поддерживать форму ":ххх
", в этом случае будет произведена предварительная обработка запроса перед отправкой его на сервер.
Если блок имеет выходные параметры, вы должны использовать SUSPEND, иначе ничего не будет возвращено.
Выходные данные всегда возвращаются в виде набора данных, так же как и в случае с оператором SELECT.Вы не можете использовать RETURNING_VALUES
или выполнить блок, вернув значения в некоторые переменные, используя INTO, даже если возвращается всего одна строка.
Для получения дополнительной информации о параметрах и объявлениях переменных, [TYPE OF] domain
, TYPE OF COLUMN и т.д.обратитесь к главе DECLARE VARIABLE.