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。