--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;
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;