Re: Retornar valores de varias tablas

From: "Linder Poclaba" <linder(dot)poclaba(at)gmail(dot)com>
To: "Julio Rivero" <jcrmlima(at)gmail(dot)com>
Cc: "Lista PostGreSQL" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Retornar valores de varias tablas
Date: 2006-05-29 15:48:35
Message-ID: 5aa69e1b0605290848g5d4415aay325bc1b20f3f46a4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Entonces tu funcion porque no retorna un valor de tipo RECORD y como
parametro de entrada la tabla de donde quieres sacar el detalle algo asi;

CREATE OR REPLACE FUNCTION x(tabla) RETURNS SETOF RECORD

declaras un variable de tipo RECORD para que almacene tu consulta y luego la
retornas, espero estar en lo correcto.

On 5/29/06, Julio Rivero <jcrmlima(at)gmail(dot)com> wrote:
>
> Lo que pasa es que el detalle lo tengo en dos tablas (uno de articulos y
> otro de servicios ya que son dos detalles distintos, pero la misma
> cabecera), en mi reporte yo tengo que hacerlo dinamico, si la cabecera me
> indica que es detalle de articulos debo ejecutar o mejor dicho obtener todo
> el detalle de articulos y lo contrario, si es de servicios, todo el detalle
> de servicios.
>
> Ya lo hice con vistas, pero la función debe retornarme el valor de las
> vistas dependiendo de la cabecera donde indica que tipo de detalle es.
>
> Solo me funciona para 1
>
>
> On 5/29/06, Linder Poclaba <linder(dot)poclaba(at)gmail(dot)com> wrote:
> >
> > No seria mejor utilizar una vista?, si solo es sacar datos de varias
> > tablas me parece que no es necesario un función.
> >
> >
> > On 5/29/06, Julio Rivero < jcrmlima(at)gmail(dot)com > wrote:
> > >
> > > Hola a todos, tengo una duda de como hacer una funcion que me retorne
> > > datos de varias tablas y no de una especifica.
> > >
> > > Estuve leyendo el manual y dice que el tipo de dato que debo retornar
> > > es la TABLA:
> > >
> > > CREATE FUNCTION getfoo(int) RETURNS SETOF foo AS $$
> > > SELECT * FROM foo WHERE fooid = $1;
> > > $$ LANGUAGE SQL;
> > >
> > > pero yo tengo un query que bota resultados de varias tablas, algo así:
> > >
> > > --- detalle de la petición
> > > Select b.cod_articulo, a.nom_articulo, a.mod_articulo, a.und_medida,
> > > b.cantidad, b.precio
> > > From articulos a, dpeticion b, testado c
> > > Where a.cod_articulo = b.cod_articulo
> > > and b.cod_estado = c.cod_estado
> > > and c.des_estado like 'PENDIENT%';
> > > ---
> > > Lo hice con un refcursor, pero lamentablemente no he podido sacar los
> > > valores que me devuelve el refcursor en el IReport, me devuelve como siempre
> > > el <unnamed portal 1> y no lo puedo disgregar, por eso pense en una funcion
> > > que me devuelva los registros pero no se como devolver datos de varias
> > > tablas.
> > >
> > > Gracias de antemano
> > >
> > > --
> > > Saludos
> > > Att,
> > > Julio Rivero
> > > Movil: 98817321
> > >
> >
> >
>
>
> --
> Saludos
> Att,
> Julio Rivero
> Movil: 98817321
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Julio Rivero 2006-05-29 15:55:41 Re: Retornar valores de varias tablas
Previous Message Alvaro Herrera 2006-05-29 15:46:46 Re: pgsnmpd