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

Responder a