From: | Conxita Marín <cmarin(at)dims(dot)com> |
---|---|
To: | "Emanuel Calvo Franco" <postgres(dot)arg(at)gmail(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como utilizar un array dinámico en función plpgsql |
Date: | 2009-04-01 17:08:28 |
Message-ID: | 7B8496C873C24E4C87220EAFA7E68746@pc13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Gracias por tu solución, el problema és que el código del resto de la
función es bastante complejo y ya està escrito en plpgsql.
Esperaré aun poco a ver si alguien me da otra solución simple en plpgsql,
sino tiraré de tablas temporales para implementar el vector.
Un saludo.
Conxita Marín
Desarrollos Informáticos Modulares de Software, S.L.
www.dims.com
----- Original Message -----
From: "Emanuel Calvo Franco" <postgres(dot)arg(at)gmail(dot)com>
To: "Conxita Marín" <cmarin(at)dims(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Wednesday, April 01, 2009 5:17 PM
Subject: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como utilizar un array
dinámico en función plpgsql
El día 1 de abril de 2009 4:29, Conxita Marín <cmarin(at)dims(dot)com> escribió:
> 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;
>
No se si te sirve, lo hice con plperl.
CREATE OR REPLACE FUNCTION matriz(integer) returns integer language
'plperl' as $_$
$array = ();
my $numero = 0;
for ($numero;$numero < $_[0]; $numero++){
$array[$numero][1] = 1;
$array[$numero][2] = 2;
}
return 0;
$_$;
> 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
--
Emanuel Calvo Franco
Sumate al ARPUG !
(www.postgres-arg.org -
www.arpug.com.ar)
ArPUG / AOSUG Member
Postgresql Support & Admin
--
TIP 8: explain analyze es tu amigo
From | Date | Subject | |
---|---|---|---|
Next Message | Miguel Angel | 2009-04-01 17:37:06 | Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Como utilizar un array dinámico en función plpgsql |
Previous Message | Emanuel Calvo Franco | 2009-04-01 15:17:33 | Re: [pgsql-es-ayuda] Como utilizar un array dinámico en función plpgsql |