当我将 Oracle 函数迁移到 HSQLDB 时,我需要为 HSQLDB 翻译“选择为”。Oracle 脚本可能如下所示:
CREATE FUNCTION getId()
RETURN NUMBER IS
temp_id NUMBER;
...
BEGIN
....
SELECT id id INTO temp_id from ( select id form ..... );
在 HSQLDB 2.0.0 中,我可以执行以下操作:
CREATE FUNCTION getId()
RETURNS BIGINT
BEGIN ATOMIC
DECLARE temp_id BIGINT;
....
SET temp_id = SELECT id id FROM ....
但是,它不再适用于 HSQLDB 2.2.9。错误信息是:
[CREATE - 0 行,0.000 秒] [错误代码:-5608,SQL 状态:42608] 声明中错误或缺少数据影响子句:在语句中读取 SQL
从 HSQLDB 2.2 的发行说明中,它说他们已经支持“选择进入”,但我没有找到方法。
任何人都知道如何在 HSQLDB 2.2.9 中做到这一点?