Re: Como utilizar un array dinámico en función plpgsql

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)

In response to

Responses

Browse pgsql-es-ayuda by date

  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