From: | Miguel Rodríguez Penabad <penabad(at)gmail(dot)com> |
---|---|
To: | "Calabaza Calabaza" <calalinux(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Pasar parametro string a funcion en 7.4.8 |
Date: | 2007-11-08 11:27:59 |
Message-ID: | 95335e4e0711080327pcbcd374x2d5c943875922f72@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El 8/11/07, Calabaza Calabaza <calalinux(at)gmail(dot)com> escribió:
> > Si estoy en lo cierto, puedes probar
> > a) SQL dinámico (construirte el select a partir de strings incluyendo
> > el parámetro)
>
> Esto no entiendo, como se hace?
> (Acepto como respuestas links o palabras claves para mi amigo google =))
Mira este ejemplo (que evidentemente es mejorable, y usa además la
sintaxis de postgres 8.2) que hace un select incluyendo una condición
que se pasa como parámetro.
Hay documentación oficial sobre los cursores en (por ejemplo)
http://www.postgresql.org/docs/8.2/static/plpgsql-cursors.html
create or replace function b(condicion text) returns record
as $$
DECLARE
c refcursor;
orden text;
registro record;
BEGIN
orden := 'SELECT 1,2,3';
open c for execute orden || ' where '|| condicion;
fetch c into registro;
close c;
return registro;
END;
$$ language plpgsql;
penabad=> select b('1=1');
b
---------
(1,2,3)
(1 row)
penabad=> select b('1=0');
b
------
(,,)
(1 row)
>
> > b) Usar un array en el parámetro.
>
> Esta opcion me gusto!
Me alegro :)
> Bueno, sobre la solución tengo algunas preguntas:
>
> He realizado lo sgte:
>
> Modifique el inicio de la funcion de esta forma:
> CREATE OR REPLACE FUNCTION retenciones_importes(int[]) RETURNS RECORD AS
>
> Luego lo llamo de esta forma:
>
> Select retenciones_importes('{2,3}'::int[]);
>
> Y me devuelve el sgte error:
>
> ERROR: cannot display a value of type record
> Estado SQL:0A000
¿Puedes poner la definición completa de la función?
En principio devolver un record no debería dar ese tipo de error,
según mi experiencia.
Saludos
--
Miguel Rodríguez Penabad
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2007-11-08 11:39:32 | Re: Problemas al traer los datos |
Previous Message | Calabaza Calabaza | 2007-11-08 10:52:39 | Re: Pasar parametro string a funcion en 7.4.8 |