4.oracle中使用java存贮过程
4.1 Java类
public class Oscar {
// return a quotation from Oscar Wilde
public static String quote() {
return "I can resist everything except temptation.";
}
}
javac Oscar.java //编译
4.22 加载java类
loadjava -user tt/bitservice Oscar.class;
4.3 发布java类
create or replace function oscar_quote return varchar2 AS LANGUAGE JAVA
NAME 'Oscar.quote() return java.lang.String';
4.4 调用java类
variable quote VARCHAR2(50);
CALL oscar_quote() INTO :theQuote;
PRINT theQuote;
具体实现如下:
1.在java source中创建如下的java类
create or replace and compile java source named Oscar as
import java.lang.*;
import java.io.*;
public class Oscar
{
public static String entry()
{
return "I can resist everything except temptation.";
}
}
2.发布java类(相当于给Java类中共用的类或方法创建一个pl/sql形式的别名,pl/sql通过该别名访问对应的java类)
create or replace function oscar_quote return varchar2 AS LANGUAGE JAVA
NAME 'Oscar.quote() return java.lang.String';
3.对java类的使用
发布后的Java类(别名)可以用于pl/sql中的触发器、函数、过程、包、子程序、匿名块、单句sql。