2016-11-07 5 views
0

Я преобразовываю хранимые процедуры PL/SQL в процедуры HSQLDB. Я пытаюсь объявить переменные внутри моей процедуры, что ссылки, которые я создал. Когда я использую этот тип для параметра процедуры, он отлично работает. Но когда я пытаюсь использовать его как локальный тип переменной, он не знает, как его использовать.HSQL DB Объявление переменных с использованием созданных типов

Пример:

CREATE TYPE MY_DECLARED_TYPE AS INTEGER; 

CREATE PROCEDURE TEST (IN TEMP MY_DECLARED_TYPE) MODIFIES SQL DATA DYNAMIC RESULT SET 1 
    BEGIN ATOMIC 
     DECLARE l_var_1 MY_DECLARED_TYPE; 
    BEGIN ATOMIC 
     --Do some stuff-- 
END; 

Есть некоторые оговорки в HSQLDB, что не допускает использование объявленных типов в возвещайте заявление? Или есть что-то еще, что мне не хватает?

ответ

1

Работает в последней версии HSQLDB (2.3.4).

CREATE PROCEDURE TEST (IN TEMP MY_DECLARED_TYPE) MODIFIES SQL DATA DYNAMIC RESULT SETS 1 
    BEGIN ATOMIC 
     DECLARE IVAR MY_DECLARED_TYPE; 
    BEGIN ATOMIC 
     SET IVAR = 0; 
    END; 
END; 
+0

Я не могу обновить эту версию, но я согласен с ответом :). благодаря – SenSok