Мы доработали загрузчики схемы PROCEDURES для получения текста хранимых процедур в колонке PROCEDURE_DEFINITION. Поддерживаются все сервера:
Если вы используете Firebird 2.1, то рекомендуем обновиться как минимум до релиза FB 2.1.2 (см. ).
Пример процедуры:
CREATE PROCEDURE SP_TEST (A INTEGER=2)
AS
BEGIN
...
END
В предыдущих версиях IBProvider команда exec SP_TEST транслировалась в команду EXECUTE PROCEDURE SP_TEST (см. свойство ado_exec_sp) . Подготовка такой команды происходила без проблем, однако провайдер не формировал список параметров автоматически.
В новой версии IBProvider v3.0.0.8195 вызов процедуры:
exec SP_TEST транслируется с учетом входящих параметров в sql-команду:
EXECUTE PROCEDURE SP_TEST(?)
Ограничение команды exec SP: Начиная с Firebird 2.1, сервер поддерживает default-значения для параметров хранимых процедур, но к сожалению, Firebird не поддерживает специальный тип SQL_DEFAULT, при помощи которого можно было бы сообщить серверу о необходимости использовать значения по-умолчанию. Поэтому эту возможность сервера провайдер не поддерживает в полной мере.