Java 類別編譯為位元組碼(.class),安裝至資料庫後,可透過 CALL SPEC 發布為預存程序/函數,在資料庫引擎內部執行(JVM 內嵌於資料庫進程)。
loadjava 工具或 sqlj.install_jar 將 JAR/類別載入資料庫。CREATE PROCEDURE insertfix()
EXTERNAL NAME 'JDBCExample.InsertFixed ()V'
LANGUAGE JAVA;
| 模式 | JVM 位置 | 適用場景 |
|---|---|---|
| 資料庫內執行 | 內嵌於 DB 進程 | 資料密集邏輯、減少網路往返、事務邊界內運算 |
| 客戶端/應用伺服器執行 | 獨立 JVM | 商業邏輯、外部服務呼叫、複雜運算 |
Oracle (Aurora JVM)、DB2、PostgreSQL (PL/Java)、SQL Server (CLR 整合) 均支援類似機制,語法細節各異。