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 發(fā)布java類
create or replace function oscar_quote return varchar2 AS LANGUAGE JAVA
NAME 'Oscar.quote() return java.lang.String';
4.4 調(diào)用java類
variable quote VARCHAR2(50);
CALL oscar_quote() INTO :theQuote;
PRINT theQuote;
具體實現(xiàn)如下:
1.在java source中創(chuàng)建如下的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.發(fā)布java類(相當(dāng)于給Java類中共用的類或方法創(chuàng)建一個pl/sql形式的別名,pl/sql通過該別名訪問對應(yīng)的java類)
create or replace function oscar_quote return varchar2 AS LANGUAGE JAVA
NAME 'Oscar.quote() return java.lang.String';
3.對java類的使用
發(fā)布后的Java類(別名)可以用于pl/sql中的觸發(fā)器、函數(shù)、過程、包、子程序、匿名塊、單句sql。