oracle:java stored procedure or function

--java source hasn't return value
create or replace and compile java source named TestJava1 as
public class TestJavaHank1
{
  public static void entry()
  {
         System.out.println("I am maxiaohu!");
  }
}
--java source has return value
create or replace and compile java source named TestJava2 as
public class TestJavaHank2
{
  public static String entry(String name)
  {    
         return "你好:"+name;
  }
}

create or replace procedure testjava as language java name 'TestJavaHank.entry()';

create or replace function testjava2(name varchar2) return varchar2
as language java name 'TestJavaHank2.entry(java.lang.String) return java.lang.String';

--在oracle中加载编译过的class文件
create or replace function testCode(name varchar2) return varchar2
as language java name 'test.getCode(java.lang.String) return java.lang.String';

--外部java类   启动enterprise manageconsole,
--在“方案”下找到“源类型”,右击”java类”,
--选择”加载java“,选择对应的class文件即可。
          public class test
          {
          public static String getCode(String name)
          {
          return "123"+name;
          }
         
          }


--call procedure
begin
testjava;
end;

--command window
SET SERVEROUTPUT ON;  
CALL dbms_java.set_output(2000); 
exec testjava;

--call function
begin
dbms_output.put_line(testCode('maxiaohu'));
end;

你可能感兴趣的:(java,oracle)