Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

Next:From: Emanuel Calvo FrancoDate: 2009-04-01 15:17:33
Subject: Re: [pgsql-es-ayuda] Como utilizar un array dinámic?==?ISO-8859-1?Q?o en función plpgsql
Previous:From: Horacio MirandaDate: 2009-04-01 05:13:54
Subject: Re: bases de datos sincronizadas?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group