1
我有一個帶有存儲過程的HSQL 2.x數據庫。這個過程生成一個我想執行的動態SQL字符串。在Oracle上,我通過命令立即執行命令。我很難找到HSQLDB的等價物。有人可以幫忙嗎?執行hsqldb立即執行
我有一個帶有存儲過程的HSQL 2.x數據庫。這個過程生成一個我想執行的動態SQL字符串。在Oracle上,我通過命令立即執行命令。我很難找到HSQLDB的等價物。有人可以幫忙嗎?執行hsqldb立即執行
HSQLDB沒有直接支持SQL/PSM語言例程中的動態SQL。
執行此操作的方法是使用從SQL存儲過程調用的Java存儲過程執行SQL字符串。
Java存儲過程有一個String(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
正是你正在努力實現?如果您通過某些程序調用HSQL,例如Java然後你可能想在java端構造查詢並運行它。那應該沒問題? –
應用程序應該針對不同的DBMS風格。存儲過程正在執行批量同步作業(不能依賴於休眠)。因此,在Java中構建SQL不是一種選擇。 – Jack