立即执行 hsqldb

Posted

技术标签:

【中文标题】立即执行 hsqldb【英文标题】:Execute Immediate for hsqldb 【发布时间】:2012-11-08 15:22:14 【问题描述】:

我有一个带有存储过程的 HSQL 2.x 数据库。此过程生成我要执行的动态 SQL 字符串。在 Oracle 上,我使用 execute immediate 命令执行此操作。我很难找到 HSQLDB 的等价物。有人可以帮忙吗?

【问题讨论】:

您到底想达到什么目的?如果您通过某些程序调用 HSQL,例如Java 那么您可能想在 java 端构建查询并运行它。应该没问题吧? 该应用程序应该适用于不同的 DBMS 风格。存储过程正在执行批量同步作业(不能依赖休眠)。因此,在 Java 中构建 SQL 不是一种选择。 【参考方案1】:

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

【讨论】:

以上是关于立即执行 hsqldb的主要内容,如果未能解决你的问题,请参考以下文章

js立即执行函数用法

JS 立即执行函数

JS中的立即执行函数

js立即执行函数

(转)扫盲--JavaScript的立即执行函数

前端面试之立即执行函数