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