В Oracle я могу объявить курсор ссылки ...
TYPE t_spool IS REF CURSOR RETURN spool%ROWTYPE;
... и использовать его для передачи курсора в качестве возвращаемого значения ...
FUNCTION end_spool
RETURN t_spool
AS
v_spool t_spool;
BEGIN
COMMIT;
OPEN v_spool FOR
SELECT
*
FROM
spool
WHERE
key = g_spool_key
ORDER BY
seq;
RETURN v_spool;
END end_spool;
... и затем захватить его как набор результатов, используя JDBC ...
private Connection conn;
private CallableStatement stmt;
private OracleResultSet rset;
[...clip...]
stmt = conn.prepareCall("{ ? = call " + call + "}");
stmt.registerOutParameter(1, OracleTypes.CURSOR);
stmt.execute();
rset = (OracleResultSet)stmt.getObject(1);
Что такое эквивалент в MySQL?