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