Oracle permite integrar código Java en el propio motor de base de datos, en esta entrada se muestra un pequeño ejemplo.
El código Java a ejecutar se puede incorporar a la base de datos cargando un archivo .jar mediante la instrucción loadjava (comando de sistema operativo que se encuentra en el directorio BIN de la base de datos) o creándolo directamente de forma similar a como se crea una función, procedimiento o paquete. En este ejemplo se usa esta segunda opción.
El siguiente código recibe por parámetro una fecha, desglosada en 6 campos numéricos (año, mes, día, hora, minuto y segundo) y la devuelve en formato texto:
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "JavaDate" AS package pruebas; import java.util.Calendar; public class JavaDate { public static String getString(int anho, int mes, int dia, int hora, int minuto, int segundo) { Calendar calendar; calendar = Calendar.getInstance(); calendar.set(anho, mes, dia, hora, minuto, segundo); return calendar.getTime().toString(); } }
Una vez está el código Java creado en la base de datos, hay que crear una función o procedimiento para llamarlo:
CREATE OR REPLACE FUNCTION f_javadate(p_anho NUMBER, p_mes NUMBER, p_dia NUMBER, p_hora NUMBER, p_minuto NUMBER, p_segundo NUMBER) RETURN VARCHAR2 IS LANGUAGE JAVA NAME 'pruebas.JavaDate.getString(int, int, int, int, int, int) return String';