From: | Agustin Ignacio Genoves <agustingenoves(at)gmail(dot)com> |
---|---|
To: | Listas <masc68(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda con Funcion |
Date: | 2009-10-27 15:57:34 |
Message-ID: | d50beba10910270857m63473e11vfa9cfaf3133a5398@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Si, lo que pasa es que vos tenes que usar return registro, creo que
como lo tenes planteado no te va a retornar nada.
Lee lo siguiente:
http://www.postgresql.org/docs/8.4/static/plpgsql-control-structures.html
o fijate usando algo asi:
CREATE TABLE foo (fooid INT, foosubid INT, fooname TEXT);
INSERT INTO foo VALUES (1, 2, 'three');
INSERT INTO foo VALUES (4, 5, 'six');
CREATE OR REPLACE FUNCTION getAllFoo() RETURNS SETOF foo AS
$BODY$
DECLARE
r foo%rowtype;
BEGIN
FOR r IN SELECT * FROM foo
WHERE fooid > 0
LOOP
-- can do some processing here
RETURN NEXT r; -- return current row of SELECT
END LOOP;
RETURN;
END
$BODY$
LANGUAGE 'plpgsql' ;
El día 27 de octubre de 2009 12:47, Listas <masc68(at)gmail(dot)com> escribió:
> Estas en lo correcto y lo solicione así, pero no me arroja ningún resultado
> , debiendo hacerlo?????
>
> -----Mensaje original-----
> De: Agustin Ignacio Genoves [mailto:agustingenoves(at)gmail(dot)com]
> Enviado el: martes, 27 de octubre de 2009 12:43
> Para: Listas
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: [pgsql-es-ayuda] Ayuda con Funcion
>
> Cuando haces
>
> CONSULTA := 'SELECT a.id,a.opcion
> FROM public.epropiedades_provincias a
> WHERE a.id_estado =''SA'' and a.relacion = quote_literal(tipo)';
>
> le estas pasando una variable a un string creo tendrias que concatenarlo
>
> 2009/10/27 Listas <masc68(at)gmail(dot)com>:
>> Hola Lista, miren tengo la siguiente función:
>>
>>
>>
>> CREATE OR REPLACE FUNCTION "public"."get_provincias" (co_region integer,
> out
>> id smallint, out opcion varchar) RETURNS SETOF record AS
>>
>> DECLARE
>>
>> CONSULTA varchar;
>>
>> tipo integer;
>>
>>
>>
>> BEGIN
>>
>>
>>
>> tipo = $1;
>>
>>
>>
>> IF tipo = 0 THEN
>>
>> CONSULTA := 'SELECT a.id,a.opcion
>>
>> FROM public.epropiedades_provincias a
>>
>> WHERE a.id_estado =''SA'' ';
>>
>> EXECUTE CONSULTA;
>>
>> END IF;
>>
>>
>>
>> IF tipo <> 0 THEN
>>
>> CONSULTA := 'SELECT a.id,a.opcion
>>
>> FROM public.epropiedades_provincias a
>>
>> WHERE a.id_estado =''SA'' and a.relacion = quote_literal(tipo)';
>>
>> EXECUTE CONSULTA;
>>
>> END IF;
>>
>>
>>
>> return;
>>
>> END;
>>
>> LANGUAGE 'plpgsql'
>>
>>
>>
>> VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100 ROWS 1000;
>>
>>
>>
>> Al ejecutarla me señala lo siguiente :
>>
>> ERROR: column "tipo" does not exist
>>
>>
>>
>> Pero tipo es una variable in y está declarada… Qué podrá ser
>>
>>
>>
>> Gracias de Antemano
>>
>>
>>
>> Mario
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
> firmas
>> de virus 4545 (20091026) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>> http://www.eset.com
>>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas
> de virus 4545 (20091026) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas
> de virus 4545 (20091026) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
> http://www.eset.com
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Eveling Velásquez | 2009-10-27 16:22:53 | Re: problema con max-pool-conecction |
Previous Message | Listas | 2009-10-27 15:47:36 | RE: Ayuda con Funcion |