Oracle
 sql >> Database >  >> RDS >> Oracle

Concetto:creare un programma Java e caricarlo in Oracle DB - La funzione wrapper chiama la funzione java con ritorno

Sì, devi chiamare un metodo statico, ma all'interno del metodo statico puoi creare un'istanza della classe e chiamare metodi non statici:

create or replace java source named "com.test.Example" AS
public class Example {
  public String getHelloWorld(
    final String hello
  ) {
    return hello + "world"
  }

  public static String getStaticHelloWorld(
    final String hello;
  ){
    final Example e = new Example();
    return e.getHelloWorld( hello );
  }
}
/

CREATE FUNCTION get_hello_world(i_string VARCHAR2) RETURN VARCHAR2 AS
  LANGUAGE java name 'com.test.Example.getStaticHelloWorld(
      java.lang.String
    ) return java.lang.String';