haciendo algunos cambios en el procedimiento segun yo quedaria asi:
Código SQL:
Ver originalCREATE OR REPLACE FUNCTION obtener_nombres_turnos(IN id CHARACTER, IN fecha DATE, OUT out_nombres CHARACTER)
RETURNS SETOF CHARACTER AS
$BODY$
DECLARE
datos record;
BEGIN
FOR datos IN SELECT nombres FROM prestatario WHERE id_prestatario=id UNION SELECT turno FROM servicios WHERE id_prestatario=id AND (fecha>=fecha_inicio AND fecha<=fecha_termino) loop
out_nombres=datos.nombres;
RETURN NEXT;
END loop;
RETURN;
END;
$BODY$
LANGUAGE plpgsql
al ingresar los parametros si me devuelve los valores correctos pero no me los devuelve con un record set es decir en otros procedimientos almacenados de record set me devuelve los valores en esta forma:
victor manuel, vespertino
los valores separados por comas
pero en este me lo colocoa de la siguiente manera:
obtener_nombres_turnos
bpchar
---------------------------------------
1 |vespertino
---------------------------------------
2 |victor manuel
---------------------------------------
ignoro si al llamar al procedimiento almacenado asi me devuelva ambos valores (segun yo solo devuelve el primero) ya que en java al obtener el conjunto de valores que te comento yo les doy formato para despues separarlos y colocarlos en las lineas de codigo que se nesesiten que opinas????