RE: funcion plpgsql

From: Javier Bermúdez Tito <javier_bt(at)hotmail(dot)com>
To: msotocl(at)gmail(dot)com
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: funcion plpgsql
Date: 2007-01-09 19:34:44
Message-ID: BAY129-F37060C5D0FBBC81AE56EE585B30@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

asi podras obtener todos los datos pruebalo y acondicionalo para tu consulta
segun tus criterios.

CREATE OR REPLACE FUNCTION "public"."get_rec" (VARCHAR, INTEGER, VARCHAR)
RETURNS SETOF "public"."ty_rec" AS
$body$
DECLARE
rd_data ty_rec%ROWTYPE;
BEGIN
FOR rd_data SELECT s.idcsucur, s.saucnosu, s.saucdire FROM sucursales s
WHERE s.eliminar = 0 ORDER BY s.saucnosu ASC LOOP
RETURN NEXT rd_data;
END LOOP;
END;
$body$
LANGUAGE 'plpgsql';

From: "Mario Soto" <msotocl(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: [pgsql-es-ayuda] funcion plpgsql
Date: Tue, 9 Jan 2007 13:53:28 -0400
>Hola lista, tengo lo siguiente:
>
>he creado un tipo de datos:
>
>CREATE TYPE "public"."ty_rec" AS (
>"tipo" VARCHAR,
>"codigo" INTEGER,
>"tp1" varchar,
>"nombre" varchar,
>"sec" integer,
>"userid" varchar
>);
>
>he creado una funcion, la cual le paso por parametro una tabla y 2 datos
>mas:
>
>CREATE OR REPLACE FUNCTION "public"."get_rec" (varchar, integer,
>varchar) RETURNS SETOF "public"."ty_rec" AS
>'
>DECLARE
>tabla alias for $1;
>codigo alias for $2;
>tipo alias for $3;
>qry text;
>BEGIN
>qry := ''select b.nb_tipo as tipo, a.co_codigo as codigo, a.nb_tipo as tp1,
>a.nb_nombre as nombre, a.sq_serialcolumn as seq, a.userid
>from '' || tabla || '' a, systab01 b
>where
>a.co_codigo = '' || codigo || '' and
>a.co_codigo = b.sq_serialcolumn and
>b.nb_tipo = '''' || tipo || ''''
>order by a.nb_tipo asc'';
>EXECUTE qry;
>return;
>END;
>
>' LANGUAGE 'plpgsql';
>
>cuando la ejecuto de esta forma, no me da ningun resultado.
>select * from get_rec('public.analogico',158,'CATALOGOS')
>
>
>pero si ejecuto el mismo query con los valores puestos, si me arroja
>resultados
>
>EXPLAIN
>select b.nb_tipo as tipo, a.co_codigo as codigo, a.nb_tipo as tp1,
>a.nb_nombre as nombre, a.sq_serialcolumn as
>seq, a.userid from analogico a, systab01
>b where a.co_codigo = 158
>and a.co_codigo = b.sq_serialcolumn and
>b.nb_tipo = 'CATALOGOS' order by a.nb_tipo asc
>
>
>Estará mal la funcion, alguien me puede indicar cual es mi error,
>gracias de antemano ???
>
>---------------------------(fin del mensaje)---------------------------
>TIP 8: explain analyze es tu amigo

_________________________________________________________________
Consigue aquí las mejores y mas recientes ofertas de trabajo en América
Latina y USA: http://latam.msn.com/empleos/

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario Soto 2007-01-09 19:44:01 Re: funcion plpgsql
Previous Message Pablo Febolo 2007-01-09 18:51:51 Re: Like iLike y Genexus