1. 創建Java文件Swapper.java
2. 編譯Java文件
javac Swapper.java
3. 用loadjava導入class文件
loadjava -u hr/oracle -resolve Swapper.class
4. 創建存儲過程調用swap
create or replace procedure swap(x in out number, y in out number)
as language java
name 'Swapper.swap(int[], int[])'; -- 所有IN OUT或OUT參數必須對應java的數組參數
5. 測試
declare
a number := 1;
b number := 99;
begin
dbms_output.put_line('before swap');
dbms_output.put_line('a=' || a);
dbms_output.put_line('b=' || b);
swap(a, b);
dbms_output.put_line('after swap');
dbms_output.put_line('a=' || a);
dbms_output.put_line('b=' || b);
end;
6. 結果
before swap
a=1
b=99
after swap
a=99
b=1