Excelente.
Agora pode apagar todas a variaveis e deixar somente a v_retorno.
lembrando de deixar o elemento v_idvenda para o tipo IN..
Qualquer coisa estamos ai

2009/10/2 Bruno Carneiro <guimaraescarne...@gmail.com>

>
>
>
> Bruno Carneiro wrote:
> >
> > Gente, tive um problema.
> >
> > Antes de fazer qualquer melhoria, eu testei minha função e ela não está
> > retornando o valor exato.
> >
> > Vejam o teste que eu fiz. Do lado esquerdo tem a função, como ela está
> > agora. E do lado direito os testes feitos a mão no console.
> >
> > http://img203.imageshack.us/img203/1359/pgerro.jpg
> >
> > Repare que no final retornou 47 ao invés de 28.20
> >
> >
>
> Alterei minha função usando o select que o José Adriano passou e agora a
> função retorna o valor esperado.
>
> DECLARE
>   v_idcarro integer;
>   v_zerokm boolean;
>   v_vvenda numeric(8,2);
>    v_idvend integer;
>   v_c_vend numeric(8,2);
>    v_retorno numeric(8,2);
>
> BEGIN
>    select
>  sum( case when c.zero_km then (v.valor - custo_total( c.idcarro )  ) *
> r.comissao
>          else v.valor * r.comissao
>   end )    as valor_comissao
> from venda v
> left join carro c on c.idcarro = v.carro
> left join vendedor r on r.idvendedor = v.vendedor
> where v.idvenda=15 INTO v_retorno;
>
>   RETURN v_retorno;
>
> END;
>
>
> --
> View this message in context:
> http://www.nabble.com/Atribuir-valor-escalar-retornado-de-um-SELECT-em-plpgsql-tp25704399p25715157.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
----

Att.
José Adriano Alves
Analista de Sistemas - Móveis Gazin.
Cel..:  +55 44 8802 3994
Fone: + 55 44 3663 8000 - 2319
Mail: alves.jadri...@gazin.com.br
MSN: jose.adri...@gazin.com.br



Este e-mail, seu conteúdo e seus anexos estão sujeitos à privilégio de
comunicação podendo este documento incluir informação confidencial e de
propriedade restrita da GAZIN e apenas pode ser lido por aqueles a qual o
mesmo tenha sido endereçado. Se você recebeu essa mensagem de e-mail
indevidamente, por favor avise-nos imediatamente. Quaisquer dados, opiniões
ou informações expressadas neste e-mail pertencem ao seu remetente e não
necessariamente coincidem com aquelas da GAZIN, são de exclusiva
responsabilidade do signatário. Este documento não pode ser reproduzido,
copiado, distribuído, publicado ou modificado por terceiros, sem a prévia
autorização por escrito da GAZIN.


Antes de imprimir pense em seu compromisso com o Meio Ambiente
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a