Использовали ли вы Set Term до и после этого кода?
Все команды в Firebird должны заканчиваться точкой с запятой.Если вы хотите создать хранимую процедуру, вы должны иметь возможность различать завершающую точку с запятой и точку с запятой внутри хранимой процедуры.
Примерно так:
SET TERM ^ ;
CREATE PROCEDURE SP_NYANSAT(
FORNAVN VARCHAR(30),
EFTERNAVN VARCHAR(30),
ADRESSE VARCHAR(50),
POSTNUMMER CHAR(4),
TELEFONNUMMER CHAR(8),
EMAIL VARCHAR(50))
AS
DECLARE VARIABLE ID INTEGER;
BEGIN
ID = GEN_ID(GEN_ANSAT_ID,1);
INSERT INTO MYTABLE (ID, FORNAVN, EFTERNAVN, ADRESSE, POSTNUMMER, TELEFONNUMMER, EMAIL) VALUES (:ID, :FORNAVN, :EFTERNAVN, :ADRESSE, :POSTNUMMER, :TELEFONNUMMER, :EMAIL);
END
^
SET TERM ; ^
Пожалуйста, обратите внимание, как объявление хранимой процедуры завершается с помощью ^, тем самым заканчивая оператор.После объявления вы также восстанавливаете завершающую точку с запятой.
В примечании, я бы порекомендовал скопировать firebird.msg в папку, в которой указана полученная вами ошибка, чтобы вы могли видеть, что на самом деле происходит.
РЕДАКТИРОВАТЬ:
Если вы хотите, вы можете проверить эту ссылку .Там вы можете найти много информации о Firebird + IBExpress, включая SET TERM (стр. 81).
EDIT 2:
Только что попробовал дома с IBExperts + Firebirdи у меня не было проблем с созданием хранимой процедуры.Я предполагаю, что вы пытаетесь сделать одно из следующих действий:
Вы открыли редактор SQL и пытаетесь скомпилировать код напрямую.Это не сработает, потому что IBExperts считает, что вы пытаетесь выполнить предложения DSQL.Хранимые процедуры создаются с предложениями PSQL.
Вы пытаетесь использовать утилиту «Новая процедура» (кнопки проверки в правой верхней части главного меню) и вставляете весь код вредактор.Это не сработает, потому что в этом редакторе вам нужно только поместить код тела.Имя хранимой процедуры задается в поле в верхней правой части окна, которое вы открыли.Параметры и переменные вводятся с помощью кнопки «Вставить параметр / переменную» в левой части над редактором кода.Предложения SET TERM автоматически создаются IBExperts.Вы можете проверить полученный код на вкладке DDL.
HTH