From: | Anthony Sotolongo <asotolongo(at)gmail(dot)com> |
---|---|
To: | Ovidio Jimenez <oviman(dot)h(at)gmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Ayuda con Array |
Date: | 2018-01-29 20:49:30 |
Message-ID: | 7f2e9ba6-c1cc-1638-aff7-ea6ef1edea9a@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola Ovidio, puedes buscar en las funciones de manejo de arreglos
https://www.postgresql.org/docs/9.6/static/functions-array.html
según veo para tu escenario puedes utilizar estas:
select array_length(array[1,2,3], 1)
select cardinality(array[1,2,3])
puedes ver el ejemplo aca de lo que retornan: http://rextester.com/XQY65516
haaaa, y asegúrate que sean los arreglos de la misma cantidad de
elementos, pues según veo en la lógica que envías en tu función, hay
relación entre la longitud del los parámetros que son arreglos.
Saludos
On 29/01/18 17:34, Ovidio Jimenez wrote:
> Saludos a todos.
>
>
> Como puedo saber cuantos elementos tengo en el array para que sea el
> limite de la sentencia FOR.
>
> /**
>
> for x in 1..10 loop
> Ejemplo for x in 1..*N*loop
>
> **/
>
>
> CREATE OR REPLACE FUNCTION insertar_detalle( *_articulo *integer[],
> _cantidad numeric[], _precio numeric[])
> RETURNS void AS
> $BODY$ declare x integer;
> begin
>
> *for x in 1..10loop*
>
> insert into detalle(codiarti, cantidad, precio) values
> ($1[x],$2[x],$3[x]);
> end loop;
> end;
> $BODY$ LANGUAGE plpgsql;
>
>
>
> Gracias!
>
> PostgreSQL 9.4.5, compiled by Visual C++ build 1800, 64-bit
> Microsoft Windows [Version 10.0.10240] 64-bit
>
>
>
>
>
> --
> Ing. Ovidio Jiménez
> Cel.: 809-390-4299
From | Date | Subject | |
---|---|---|---|
Next Message | Daymel Bonne | 2018-01-29 20:52:37 | Re: Ayuda con Array |
Previous Message | gilberto.castillo | 2018-01-29 20:39:50 | Re: [MASSMAIL]Consulta de tabla con millones de registros |