Aquí tienes un ejemplo Virginia http://gorgusfaucet.byethost6.com/site/funcion-plpgsql-que-retorna-un-setof-record-con-dblink-incluido/
El 6 de abril de 2016, 11:02, Anthony Sotolongo <asotolo...@gmail.com> escribió: > Hola Virginia, hasta donde se no conozco las vistas con parametros en > PostgreSQL , pero puedes usar otras opciones como crear una funcion con esa > query dentro y le pasas a la funcion dicho parametro y luego llamas a esa > funcion desde PHP > con un: > SELECT * FROM tu_funcion(PARAMETRO1 TIPO ANHO-MES) > > O te creas la vista sin ese filtro en el WHERE y agregas un atributo( > to_char(DATE(nt.fecha_vencimiento) ,'yyyy-mm') ) a tu resultado y luego > desde tu app en PHP la llamas > SELECT * FROM tu_vista where tu_atributo=PARAMETRO1 TIPO ANHO-MES > > Saludos > > > > > On 06/04/16 12:03, Virginia wrote: > >> Buen día, >> >> Quisiera saber si me pueden orientar acerca de vistas con pase de >> parámetros, éstas funcionan en postgresql? Si es así, cómo se hacen? pueden >> orientarme? >> Lo que necesito es pasar ésta consulta de php: >> >> SELECT distinct (e.empid), e.empresa, nt.fecha_vencimiento, (SELECT >> cp2_notas_tareas.no_renovacion FROM cp2_notas_tareas WHERE >> cp2_notas_tareas.tipo = 861 AND cp2_notas_tareas.tarea_id = (SELECT >> max(tareas.notareas_id) FROM cp2_notas_tareas tareas where tareas.empid = >> e.empid AND to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = >> 'PARAMETRO1 TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo >> = 860 )) as renovo, (SELECT mc.descripcion FROM cp2_motivos_categorias mc, >> cp2_notas_tareas aux WHERE mc.valor = aux.no_renovacion AND aux.tarea_id = >> (SELECT max(tareas.notareas_id) FROM cp2_notas_tareas tareas where >> tareas.empid = e.empid AND to_char(DATE(tareas.fecha_vencimiento) >> ,'yyyy-mm') = 'PARAMETRO1 TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 >> AND tareas.tipo = 860 ) limit 1) as motivo, (SELECT >> cp2_notas_tareas.descripcion FROM cp2_notas_tareas WHERE >> cp2_notas_tareas.tipo = 861 AND cp2_notas_tareas.tarea_id = (SELECT >> max(tareas.notareas_id) FROM cp2_notas_tareas tareas where tareas.empid = >> e.empid AND to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = >> 'PARAMETRO1 TIPO ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo >> = 860 )) as observacion, (SELECT cp2_notas_tareas.notareas_id FROM >> cp2_notas_tareas WHERE cp2_notas_tareas.tipo = 861 AND >> cp2_notas_tareas.tarea_id = (SELECT max(tareas.notareas_id) FROM >> cp2_notas_tareas tareas where tareas.empid = e.empid AND >> to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1 TIPO >> ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860 )) as ntid >> FROM empresas e INNER JOIN cp2_notas_tareas nt ON (nt.empid = e.empid) LEFT >> JOIN pagos_empresas pe ON (e.empid = pe.empid) INNER JOIN paquetes pq ON >> (pe.paqid = pq.paqid) WHERE nt.categorias_nt_id = 8 AND pe.pagid = (SELECT >> pagid FROM pagos_empresas INNER JOIN paquetes ON (pagos_empresas.paqid = >> paquetes.paqid) WHERE pagos_empresas.empid = e.empid AND nt.tipo = 860 AND >> nt.notareas_id = (SELECT max(tareas.notareas_id) FROM cp2_notas_tareas >> tareas where tareas.empid = e.empid AND >> to_char(DATE(tareas.fecha_vencimiento) ,'yyyy-mm') = 'PARAMETRO1 TIPO >> ANHO-MES' AND tareas.categorias_nt_id = 8 AND tareas.tipo = 860 ) ORDER BY >> pagos_empresas.pagid DESC LIMIT 1) AND to_char(DATE(nt.fecha_vencimiento) >> ,'yyyy-mm') = 'PARAMETRO1 TIPO ANHO-MES' ORDER BY nt.fecha_vencimiento, >> e.empresa ASC >> >> >> A una vista pero no sé cómo hacer el pase del PARAMETRO1 TIPO ANHO-MES >> >> Gracias por su ayuda. >> > > > - > Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda > -- Ing. Jorge A. González V. Especialista de Base de Datos Gerencia de Tecnología Oficina (Máster): +58 (251) 232 16 34 Oficina (Directo): +58 (251) 250 43 99 *Móvil: *+584261534450 Fax: +58 (251) 231 77 64