1

ストアドプロシージャを備えたHSQL2.xデータベースがあります。このプロシージャは、実行する動的SQL文字列を生成します。Oracleでは、executeimmediateコマンドを使用してこれを実行します。HSQLDBに相当するものを見つけるのに苦労しています。誰か助けてもらえますか?

4

1 に答える 1

0

HSQLDBは​​、SQL/PSM言語ルーチン内の動的SQLを直接サポートしていません。

これを行う方法は、SQLストアドプロシージャから呼び出されたJavaストアドプロシージャを使用してSQL文字列を実行することです。

Javaストアード・プロシージャーには、SQLステートメントであるString(VARCHAR)引数があります。を使用し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 に答える