funcion plpgsql

From: "Mario Soto" <msotocl(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: funcion plpgsql
Date: 2007-01-09 17:53:28
Message-ID: e9b17cde0701090953h5db91a68g3e1c20632c85b65e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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 ???

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-01-09 18:26:22 Re: funcion plpgsql
Previous Message Andres Duque 2007-01-09 17:42:50 Re: Like iLike y Genexus