Re: [pgsql-es-ayuda] Vista con pase de parámetros

From: Jorge Gonzalez <jgonzalez(at)itecnologica(dot)com>
To: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
Cc: Virginia <mavir78(at)gmail(dot)com>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Vista con pase de parámetros
Date: 2016-04-06 15:31:32
Message-ID: CAOKdQyQVdOgP7PbwaYo7a28+xJTAyrtWVwRp5AY=eqD2sioeCQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

deberías hacer una función que retorne un setofrecord y la llamas con un
select * from funcion

El 6 de abril de 2016, 10:59, Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> escribió:

> Hasta donde se, no existen las vistas parametrizadas.
> Supongo que una funcion seria lo mas cercano.
>
> HTH
> Gerardo
>
> ----- Mensaje original -----
> > De: "Virginia" <mavir78(at)gmail(dot)com>
> > Para: "Ayuda" <pgsql-es-ayuda(at)postgresql(dot)org>
> > Enviados: Miércoles, 6 de Abril 2016 12:03:23
> > Asunto: [pgsql-es-ayuda] Vista con pase de parámetros
> >
> >
> > 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(at)postgresql(dot)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

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Sotolongo 2016-04-06 15:32:25 Re: Vista con pase de parámetros
Previous Message Gerardo Herzig 2016-04-06 15:29:51 Re: Vista con pase de parámetros