我正在将PL / SQL存储过程转换为HSQLDB过程。我试图在我的过程中声明引用我创建的变量。当我使用此类型作为过程的参数时,它工作正常。但是当我尝试将它用作局部变量类型时,它不知道如何使用它。
示例:
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中是否有一些子句不允许在声明语句中使用声明的类型?或者还有其他我想念的东西?
答案 0 :(得分: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;