Моя реальная хранимая процедура намного сложнее, но DB2 даже не может создать пустую хранимую процедуру, которая абсолютно ничего не делает (поэтому я отправляю эту фиктивную процедуру). Процедура заключается в следующемDB2 не может создать простую хранимую процедуру
CREATE PROCEDURE SIMPLE_DECL_PROC()
LANGUAGE SQL
BEGIN
DECLARE v varchar(16);//the problem is here
END
Я получаю следующее сообщение об ошибке:
2:59:31 [CREATE - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601]
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;ECLARE v varchar(16);<psm_semicolon>, DRIVER=3.57.82
ошибки жалуется на заявлении объявляет, хотя я не вижу ничего плохого с ним (попыталось удалить, при конец, но это не сработало).
Если я удалю оператор declare, процедура будет создана успешно.
Я попытался сделать это с помощью DBVisualizer, а также SQL Squirrel.
Я уверен, что это что-то простое, что мне не хватает, но я не могу его найти. Излишне говорить, что я проверил подобные вопросы здесь, на SO и в других местах.
И, наконец, мы используем DB2 9.7.
Благодаря
Что вы установили в качестве терминатора терминалов в своем клиенте? И помните, что это не база данных, а пользователь ... –
Да, я добавил косую черту (/) в конце, и она работала (мне пришлось установить разделитель операторов в клиенте). Кажется, что некоторые клиенты этого не требуют (например, pgAdmin для Postgre, но я думаю, что pgAdmin знает, как справиться с этим для Postgre). Спасибо –