Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Fabrízio de Royes Mello
2009/10/1 Jose adriano Alves alves.jadri...@gmail.com corte * /* isso ja evita fazer 3 selects */ select into* v_idcarrro , v_vvenda , v_idvend * from *( *select *v.carro, v.valor, v.vendedor *from *public.venda v *where *v.idvenda =

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Jose adriano Alves
isso mesmo, tambem faria Fabrízio. Estive simulando uma forma de fazer essa procedure e vi que da pra fazer em um select into todo o processo... mas, como nosso amigo esta estudando o postgresql, melhor ele se aprofundar no postgresql que ele descobre por si mesmo, né. 2009/10/2 Fabrízio de

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Bruno Carneiro
Obrigado gente, realmente estou começando e estava apenas testando para ver como era. Mas por favor, sugiram melhorias, ver como se faz também é uma forma de aprender. Jose adriano Alves wrote: isso mesmo, tambem faria Fabrízio. Estive simulando uma forma de fazer essa procedure e vi

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Bruno Carneiro
Jose adriano Alves wrote: Estive simulando uma forma de fazer essa procedure e vi que da pra fazer em um select into todo o processo... Estive pensando, como tenho dados de tabelas diferentes, para trazer tudo com apenas um SELECT eu teria que fazer um join para trazer tudo em um único

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Jose adriano Alves
Sim, exatamente.. Criei um modelinho com as tabelas que voce tem para brincar: carro ( idcarro, zerokm, custo) venda ( idvenda, idcarro, idvendedor, valorvenda) vendedor ( idvendedor, comissao) o calculo eu faria assim: select sum( case when c.zerokm then (v.valor - *calcula_custo( c.idcarro

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Bruno Carneiro
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.

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Bruno Carneiro
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.

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Jose adriano Alves
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

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-02 Por tôpico Bruno Carneiro
Obrigado a todos, já fiz as adaptações ;) Jose adriano Alves wrote: 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 -- View this message in context:

[pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-01 Por tôpico Bruno Carneiro
Estou estudando plpgsql mas confesso que não estou entendo uma coisa. Eu declarei uma variável, e estou tentando atribuir um valor escalar a ela que vem de um SQL, mas eu recebo um erro informando que não é permitido fazer isso. Erro de SQL: ERRO: erro de sintaxe em ou próximo a SELECT LINE

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-01 Por tôpico André Volpato
Bruno Carneiro escreveu: Estou estudando plpgsql mas confesso que não estou entendo uma coisa. Eu declarei uma variável, e estou tentando atribuir um valor escalar a ela que vem de um SQL, mas eu recebo um erro informando que não é permitido fazer isso. (...) BEGIN v_idcarro := SELECT

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-01 Por tôpico Osvaldo Kussama
2009/10/1 Bruno Carneiro guimaraescarne...@gmail.com: Estou estudando plpgsql mas confesso que não estou entendo uma coisa. Eu declarei uma variável, e estou tentando atribuir um valor escalar a ela que vem de um SQL, mas eu recebo um erro informando que não é permitido fazer isso. Erro de

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-01 Por tôpico Bruno Carneiro
Osvaldo Kussama wrote: Tente: SELECT carro FROM venda WHERE idvenda = p_idvenda INTO v_idcarro; o mesmo para os demais campos/SELECT. Era exatamente isso! Obrigado. INTO no final... Eu também tinha tentado com parenteses e não deu. Obrigado a todos! -- View this message in

Re: [pgbr-geral] Atribuir valor escalar retornado de um SELECT em plpgsql

2009-10-01 Por tôpico Jose adriano Alves
Opa... Cuidado com esse tipo de situacao. Observa esse código... Evita variaveis e permite ter somente uma saida a funcao... Tenta fazer mais claro e coeso pra vc nao ter problemas no futuro... DECLARE v_idcarro integer; v_zerokm boolean; v_vvenda numeric(8,2); v_retorno