--- Silfar Goulart de Castro <[EMAIL PROTECTED]>
escreveu:

> Pessoal eu posso passar um array para uma procedure
> ?
> 
> Em caso positivo como eu manipulo este array, para
> ler o conteudo 
> posição por posição ?
> 

Sim.

bdteste=# \d tst_array
                          Tabela "public.tst_array"
 Coluna |   Tipo    |                    
Modificadores
--------+-----------+--------------------------------------------------------
 id     | integer   | not null default
nextval('tst_array_id_seq'::regclass)
 campo  | integer[] |
Índices:
    "tst_array_pkey" PRIMARY KEY, btree (id)

bdteste=# SELECT * FROM tst_array;
 id |    campo
----+-------------
  1 | {1,2,3,4,5}
(1 registro)

bdteste=# CREATE OR REPLACE FUNCTION op_array(ent
int[]) RETURNS int[] AS '
bdteste'#     DECLARE
bdteste'#       ini int;
bdteste'#       fim int;
bdteste'#       i int;
bdteste'#       sai int[];
bdteste'#     BEGIN
bdteste'#
bdteste'#       ini := array_lower (ent, 1);
bdteste'#       fim := array_upper (ent, 1);
bdteste'#
bdteste'#       FOR i IN ini .. fim LOOP
bdteste'#           sai[i] := ent[i] * 2;
bdteste'#       END LOOP;
bdteste'#       RETURN sai;
bdteste'#     END;
bdteste'#    ' LANGUAGE plpgsql;
CREATE FUNCTION
bdteste=# SELECT op_array(campo) FROM tst_array;
   op_array
--------------
 {2,4,6,8,10}
(1 registro)

Veja:
http://www.postgresql.org/docs/8.2/interactive/arrays.html

Osvaldo



      Abra sua conta no Yahoo! Mail, o único sem limite de espaço para 
armazenamento!
http://br.mail.yahoo.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a