Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problema con procedimiento almacenado

Estas en el tema de Problema con procedimiento almacenado en el foro de PostgreSQL en Foros del Web. Hola mis camaradas tengo ya aproximadamente 2 dias de estar buscando en google y no encuentro ninguna solución . Tengo el siguiente procedimiento almacenado: Código ...
  #1 (permalink)  
Antiguo 09/08/2010, 14:17
 
Fecha de Ingreso: diciembre-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Problema con procedimiento almacenado

Hola mis camaradas tengo ya aproximadamente 2 dias de estar buscando en google y no encuentro ninguna solución .

Tengo el siguiente procedimiento almacenado:

Código PHP:
/*
Retornar el resultado de una consulta
*/

DROP FUNCTION retornarConsulta2();

CREATE OR REPLACE FUNCTION retornarConsulta2() RETURNS setof RECORD   AS $$

 DECLARE 
  
registro RECORD;
  
registrob RECORD;
 
BEGIN
  
FOR registro IN EXECUTE 'select cedula,nombre from detalle_pago where cod_planilla = ((select max(cod_planilla) from detalle_pago where entidad in(''CA'',''BN''))) and sucursal = 12 and entidad = ''BN'''  LOOP

   
/*
   SELECCIONAR A LAS PERSONAS QUE NO APARECIERON EN LA PLANILLA ANTERIOR
   */

  
FOR registrob IN EXECUTE 'select count(*) as conteo from detalle_pago where  cod_planilla = 4 and sucursal = 12 and entidad = ''BN'' and cedula = ''registro.cedula'' ' LOOP
   
IF registrob.conteo 0 THEN
     
RETURN NEXT registro;
   
END IF;
  
END LOOP;
  
 
  
END LOOP
  
  RETURN ;
 
END

$$ LANGUAGE plpgsql;


select *  from retornarConsulta2() as (cedula character varyingnombre character varying); 
En donde tengo un ciclo anidado , todo normal el procedimiento se almacena sin ningun problema pero el problema esta en la salida no es la que yo deseo , ya que si el resultado de mi consulta interna si es igual a cero me deberia almacenar mi numero de cedula que me viene de mi ciclo externo y lastimosamente no es asi ya que me manda todo el listado del ciclo exterior , la verdad no se si mi condicion IF - THEN esta bien la verdad no tengo idea ya que soy un novato en esto de PLSQL y de veras estaria muy agradecido si me pudiesen ayudar con esto

Etiquetas: procedimiento, almacenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:21.