2009/4/22 Anderson <[email protected]>
> Boa Tarde pessoal,
>
> seguinte estou montando um procedure e preciso que o resultado do select
> seja armazenado em uma array.esta procedure é para pegar um determinado
> numero de ids, de acordo com a quantia que o usuario desejar.
> A logica que estou usando é assim:
>
> o usuario digita que quer 10 numeros de ids,
> faço um for até o limite de 10, dentro do for eu farei um insert e em
> seguida pegarei o ultimo gravado e armazeno na array,
>
>
Anderson,
Olha que legal:
teste=# CREATE AGGREGATE array_accum (anyelement)
teste-# (
teste(# sfunc = array_append,
teste(# stype = anyarray,
teste(# initcond = '{}'
teste(# );
CREATE AGGREGATE
teste=# SELECT array_accum(CAST(random()*100 as integer)) FROM
generate_series(1, 10) as id;
array_accum
---------------------------------
{60,57,13,22,55,46,59,79,96,37}
(1 row)
Com um SELECT gerei os teus 10 ids de forma aleatória com valores entre 0 e
100.
Referências:
http://www.postgresql.org/docs/8.3/interactive/xaggr.html
http://www.postgresql.org/docs/8.3/interactive/functions-math.html
Cordialmente,
--
Fabrízio de Royes Mello
>> Blog sobre PostgreSQL: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral