OracleではストアドプロシージャーをJavaで作る事が可能という事で調査してみたそのレポです

Javaクラスを作成

class Plus {
    public static int getValue(int i, int j) {
        return i + j;
    }
}

Oracleにクラスをロード

loadjava -u hoge/hoge -r -f -v Plus.class

呼び出し用PL/SQLを作成

CREATE OR REPLACE FUNCTION Plus_getValue(i IN NUMBER, j IN NUMBER)
    RETURN NUMBER
    AS LANGUAGE JAVA
    NAME 'Plus.getValue(int,int) return int';

これでPL/SQLを実行するとJavaクラスが参照される

実行用PL/SQLを作成

declare
    ret NUMBER
begin
    ret := Plus_getValue(1,2)
    dbms_output.put_line(to_char(ret));
end;

又、以下のようにJavaクラスをデータベースにロードしないでOracleからJavaソースを指定して実行する事も可能

CREATE OR REPLACE AND COMPILE
    JAVA SOURCE NAMED Test AS

    public class Test {
        public static String say(String name) {
            return "Hello World: " + name;
        }
    }