Tatiane,

O Select retorna mais de um registro? Faça o teste, tente executar manualmente o Select.

SDS

Evandro
tatiane martins wrote:
Ola,

tenho a seguinte funcao

CREATE OR REPLACE FUNCTION docduplicata(integer)
  RETURNS varchar AS
$BODY$
declare
 r record;
 i integer;
 exibem varchar;
 exibel varchar;
 p integer;
begin
 p = $1;
for r in
       select s.saida, s.chave_nf,
    (select count (s.saida) from saidas s left join movimentofinanceiro mf on s.saida = mf.saida where mf.centrocusto = 8 and  s.saida = $1) as qtdm,
    (select count (s.saida) from saidas s left join movimentofinanceiro mf on s.saida = mf.saida where mf.centrocusto =9 and  s.saida = $1) as qtdl
    from saidas s
    left join movimentofinanceiro mf on s.saida = mf.saida
    left join notasfiscais nf on s.chave_nf = nf.chave
    where mf.centrocusto in (8, 9) and s.saida = $1 loop

    i=1;   
    for i in i .. r.qtdm loop
    exibem := r.chave_nf || ' - ' || i || ' / ' || r.qtdm ;
    return exibem ;  
    end loop;

end loop;
end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

mas ela so passa uma vez pelo for, exibindo somente o valor dessa primeira passagem....
o que estou fazendo errado?

Obrigado

__________________________________________________
Fale com seus amigos de graça com o novo Yahoo! Messenger
http://br.messenger.yahoo.com/


_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a