将字符串值设置为标量变量HSQLDB
我试着如下将字符串值设置为标量变量HSQLDB,sql,hsqldb,Sql,Hsqldb,我试着如下 CREATE PROCEDURE GetHs(IN FRVDate TIMESTAMP, IN TRVDate TIMESTAMP, IN RESValue NUMERIC(19,2), RangeType VARCHAR(20), HRID VARCHAR(36)) READS SQL DATA DYNAMIC RESULT SETS 1 BEGIN ATOMIC DECLARE TABLE myList(MValue NUMERI
CREATE PROCEDURE GetHs(IN FRVDate TIMESTAMP, IN TRVDate TIMESTAMP, IN RESValue NUMERIC(19,2),
RangeType VARCHAR(20), HRID VARCHAR(36))
READS SQL DATA
DYNAMIC RESULT SETS 1
BEGIN ATOMIC
DECLARE TABLE myList(MValue NUMERIC(19,2), Price NUMERIC(19,2), FRVDate TIMESTAMP,TRVDate TIMESTAMP);
DECLARE Counter INT;
DECLARE dateDifference NUMERIC(19,2);
DECLARE for_day,for_week VARCHAR(20);
SET for_day = 'DAY';
SET for_week = 'WEEK';
IF RangeType = for_day THEN
BEGIN ATOMIC
----statements----
END
ELSEIF RangeType = for_week THEN
BEGIN ATOMIC
----statements----
END
END IF
SELECT MValue,Price,FRVDate,TRVDate FROM myList
END
我得到一个错误,用户缺少权限或找不到对象:DAY
。我可以不为声明的标量变量设置值吗
在文档中,它表示以这种格式使用。来自DOC
BEGIN ATOMIC
DECLARE temp_zero DATE;
DECLARE temp_one, temp_two INTEGER DEFAULT 2;
DECLARE temp_three VARCHAR(20) DEFAULT 'no name';
-- more statements ...
SET temp_zero = DATE '2010-03-18';
SET temp_two = 5;
-- more statements ...
END
我做错了什么
注意:最近开始学习HSQL并使用版本2.3.3此问题已在最新的HSQLDB代码中修复。下一个版本2.4.0支持它。下一版本的快照当前位于抱歉,这是一个复制粘贴错误。现已修复。请使用最新的HSQLDB快照版本进行学习。它改进了对过程的支持。@fredt:尝试过了,没有更多的错误。谢谢请张贴此答案,以便我标记问题已解决。