我有一个带有存储过程的 HSQL 2.x 数据库。此过程生成我要执行的动态 SQL 字符串。在 Oracle 上,我使用执行立即命令执行此操作。我很难找到 HSQLDB 的等价物。有人可以帮忙吗?
问问题
917 次
1 回答
0
HSQLDB 不直接支持 SQL/PSM 语言例程中的动态 SQL。
执行此操作的方法是使用从 SQL 存储过程调用的 Java 存储过程来执行 SQL 字符串。
Java 存储过程有一个字符串 (VARCHAR) 参数,即 SQL 语句。它使用jdbc:default:connection
来创建 JDBC 语句并执行在 String 参数中传递的 SQL。
SQL 过程可能如下所示:
CREATE PROCEDURE SQL_SP( ... ) LANGUAGE SQL ... BEGIN ATOMIC
DECLARE SQL_STRING VARCHAR(1000);
-- sql is generated here
CALL JAVA_SP(SQL_STRING);
END
于 2012-11-08T17:16:35.360 回答