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