Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2013, 20:39
bibliotecario08
 
Fecha de Ingreso: agosto-2013
Ubicación: d.f.
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Información hacer join en procedimiento almacenado

saludos amigos tengo la siguiente duda quiero hacer un join del tipo union segun yo es asi:

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION obtener_nombres_turnos(IN id CHARACTER, IN fecha DATE, OUT out_nombres CHARACTER, OUT out_turnos characte)
  2.   RETURNS SETOF record AS
  3. $BODY$
  4. DECLARE
  5. datos record;  
  6.    BEGIN
  7.       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
  8.          out_nombres=datos.nombres;
  9.          out_turnos=datos.turnos;
  10.          RETURN NEXT;
  11.       END loop;
  12.       RETURN;
  13.    END;
  14.  $BODY$
  15.   LANGUAGE plpgsql

pero me marca que segun la variable turno no esta asignada a la variable datos, ¿que me sugieren hacer? quiero hacerlo asi para evitar tener que definir 2 procedimientos almacenados por separado ya que estos datos los utilizo en una aplicacion java
__________________
"benditos sean todos los libros, pues cuando abres uno, te sumerges en un mundo nuevo y totalmente diferente..."