RE: Mi primera funcion en POSTGRESQL

From: MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: Mi primera funcion en POSTGRESQL
Date: 2007-10-03 14:30:03
Message-ID: 410117BB01F4D611B73A00010331DD2403B58144@tsnt.tsr.com.pe
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


El 3/10/07, MIGUEL CANCHAS <mcanchas(at)tsr(dot)com(dot)pe> escribió:
> CREATE OR REPLACE FUNCTION "public"."Datos_fichas" (numero_ficha varchar)
> RETURNS SETOF "pg_catalog"."record" AS
> $body$
> DECLARE retorno RECORD;
> BEGIN
>
> FOR retorno IN
>
> SELECT fichas.idficha, fichas.idcliente, mclientes.nomcliente,
> fichas.fichafecha,
> fichas.idot, fichas.itemot, fichas.fichaobser,
> fichas.idruta, fichas.idhojaruta,
> fichas.aniohojaruta, ficha_tejeduria.idfamilia,
> mfamilias.nomfamil, ficha_tejeduria.iddescr,
> mdescripcion.nomdescr, mtejedoras.maqdesc,
> ficha_hilados.position, ficha_hilados.porcentaje,
> ficha_hilados.idcolor, ficha_hilados.idhilo,
> ficha_hilados.lonmaya1, ficha_hilados.lonmaya2,
> ficha_hilados.lonmaya3, ficha_hilados.idservicio,
> ficha_hilados.tension,
> mhilos.titulo_hilo, mhilos.desc_hilo, mhilos.alg_hilo,
> mhilos.nyl_hilo, mhilos.pol_hilo,
> mhilos.lic_hilo, mhilos.coc_hilo, mhilos.vis_hilo,
> mhilos.acr_hilo, mcolores.nomcolor,
> ficha_barca.idcolor as idcolor2, ficha_barca.idbarca,
> mcolores.nomcolor as nomcolor2
> FROM fichas INNER JOIN mclientes ON fichas.idcliente =
> mclientes.idcliente
> LEFT JOIN ficha_tejeduria ON fichas.idficha =
> ficha_tejeduria.idficha
> LEFT JOIN mfamilias ON ficha_tejeduria.idfamilia =
> mfamilias.idfamil
> LEFT JOIN mdescripcion ON ficha_tejeduria.iddescr =
> mdescripcion.iddescr
> LEFT JOIN mtejedoras ON ficha_tejeduria.idmaqteje =
> mtejedoras.idmaqteje
> LEFT JOIN ficha_hilados ON fichas.idficha =
> ficha_hilados.idficha
> LEFT JOIN mhilos ON ficha_hilados.idhilo = mhilos.idhilo
> LEFT JOIN mcolores ON ficha_hilados.idcolor =
> mcolores.idcolor
> LEFT JOIN ficha_barca ON fichas.idficha =
> ficha_barca.idficha
> WHERE Fichas.IdFicha = numero_ficha
> LOOP
>
> RETURN NEXT retorno;
> END LOOP;
>
> RETURN;
> END;
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
>
> la ejecuto y me manda un error :
> ERROR: wrong record type supplied in RETURN NEXT
> CONTEXT: PL/pgSQL function "Datos_fichas" line 27 at return next
>
> Como puedo solucionarlo ??
> Quizas no sea el lugar en donde debia crearlo.

¿ deseas retornar el resultado de esa consulta ?
¿ por qué no mejor crear una vista de esta consulta ?

Asi es, deseo retornar el resultado de esa consulta.

Una vista ?, no se si sea lo mas adecuado, en todo caso que tan rápido es ?
ademas tengo muchisimas consultas de este tipo .

Gracias

Miguel

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diego Ayala 2007-10-03 14:35:08 Configuracion de postgresql.conf
Previous Message usuario anonimo 2007-10-03 14:24:57 Re: Mi primera funcion en POSTGRESQL