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