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 =
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
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
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
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
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.
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.
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
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:
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
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
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
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
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
14 matches
Mail list logo