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

From: Conxita Marín <cmarin(at)dims(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Como utilizar un array dinámico en función plpgsql
Date: 2009-04-01 07:29:10
Message-ID: 86D81900A3164F978746F096076C5F53@pc13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenas.

Necesitaria utilizar un array de 2 dimensiones que puede tener de 1 a 999 elementos.

Algo así:

DROP FUNCTION pepe (integer);
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;

Al intentar rellenar el array sale este error:

select pepe(10);
ERROR: invalid array subscripts
CONTEXT: PL/pgSQL function "pepe" line 7 at assignment

Buscando en los foros, parece ser que hay que inicializar el array en la declaración, és así?, si así es, ¿hay alguna manera de inicializar sin tener que declarar todos los elementos?

Saludos.

Conxita Marín
Desarrollos Informáticos Modulares de Software, S.L.
www.dims.com

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Emanuel Calvo Franco 2009-04-01 15:17:33 Re: [pgsql-es-ayuda] Como utilizar un array dinámico en función plpgsql
Previous Message Horacio Miranda 2009-04-01 05:13:54 Re: bases de datos sincronizadas?