Para empezar creamos una función básica que nos devuela algo:
CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50) RETURN CONCAT('Hello, ',s,'!');
La forma de obtener el parámetro de salida es muy sencillo. Lo más importante es saber como indicar que vamos a obtener un parámetro de salida y como registrarlo a través del 'CallableStatement'. Por lo demás es una operación JDBC normal. Aquí un ejemplo:
Connection conn = DriverManager.getConnection(${JDBC_URL}, ${BBDD_USER}, ${BBDD_PWD}); String procedure = "{? = call hello (?)}"; CallableStatement statement = conn.prepareCall(procedure); statement.registerOutParameter(1, java.sql.Types.VARCHAR); statement.setString(2, "WORLD"); statement.execute(); String salida = statement.getString(1);
En la variable 'salida' tendremos la salida de la función con el valor 'hello WORLD!'.
Si la variable de salida tiene un nombre, podemos utilizar esta otra llamada para registrar su valor.
statement.registerOutParameter(1, java.sql.Types.VARCHAR, ${var_name});
No hay comentarios:
Publicar un comentario