From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Conxita Marín <cmarin(at)dims(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Como utilizar un array dinámico en función plpgsql |
Date: | 2009-04-01 18:23:15 |
Message-ID: | 20090401182315.GC7629@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Conxita Marín escribió:
> CREATE FUNCTION pepe(tamano integer) RETURNS integer
> AS $_$
> declare
> matriz integer[][];
> i integer;
> BEGIN
> for i in 1..tamano loop
> matriz[i][1] = 1;
> matriz[i][2] = 2;
> end loop;
> return 0;
> END;
> $_$
> LANGUAGE plpgsql;
Creo que esto debería poder hacerse de alguna forma sencilla pero no
tengo tiempo de buscarla en este momento; lo que conseguí fue lo
siguiente: (atención, código sin probar)
declare
matriz integer[] = '{{1,2}}';
i integer;
begin
for i in 1 .. tamano loop
matriz := matriz || '{1,2}'::integer[];
end loop;
end;
BTW es más fácil hacer "create or replace pepe" que "drop function;
create function".
--
Alvaro Herrera http://www.advogato.org/person/alvherre
"Hay que recordar que la existencia en el cosmos, y particularmente la
elaboración de civilizaciones dentro de él no son, por desgracia,
nada idílicas" (Ijon Tichy)
From | Date | Subject | |
---|---|---|---|
Next Message | Emanuel Calvo Franco | 2009-04-01 18:25:29 | Re: consulta demasiado grande |
Previous Message | inf200476 | 2009-04-01 18:17:21 | consulta demasiado grande |