Silfar Goulart de Castro escreveu:
> Pessoal eu tenho a seguinte procedure:
> 
> CREATE OR REPLACE FUNCTION processa_trans(trans character varying[])
>   RETURNS boolean AS
> $BODY$
> DECLARE
>   tam_array int;
> BEGIN
>   tam_array = array_upper(trans,1);
>   for i in 1..tam_array loop
>      if SUBSTR(TRANS[i],3,3) = 'TIT' then
>         execute PROCESSA_TITULAR(TRANS[i]);

O que você deseja fazer com a linha acima?
Veja em:
http://www.postgresql.org/docs/8.2/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN
para que se destina o comando EXECUTE.
Creio que o que se deseja aqui é:
        SELECT PROCESSA_TITULAR(TRANS[i]);


>      end if;
>        
>   end loop;
> END;
> $BODY$
>   LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION processa_trans(character varying[]) OWNER TO postgres;
> 
> 
> 
> como vcs podem ver ela recebe um parametro que é um array. Este array 
> nada mais é do linhas que eu tenho que tratar dentro da procedure.
> 
> Agora como é que eu faço para testar esta função, como eu passo este 
> parametro para ela ?
> 


Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a