Procedure atualiza estoque

Firebird

22/10/2003

Estou tendo problema na criação da procedure.
Erro = uncknow colum quantanterior
set term ! ;
create procedure sp_estoque
(
codproduto integer,
quantidade numeric (9,2),
valor numeric (9,2)
)
as
declare variable quantanterior numeric (5,2);
begin
for select quant_prod from produto where cod_prod= :codproduto
into quantanterior do
update produto
set quant_prod = quantanterior + :quantidade, ultcomp_prod= current_date,
custo_prod= :valor
where cod_prod= :codproduto;
suspend;
end!
set term ; !

O que há de errado no codigo acima?


Midas

Midas

Curtidas 0

Respostas

Afarias

Afarias

22/10/2003

qualquer parâmetro (de entrada ou saida) ou variável -- quando citada em um comando SQL (select, update, delete ou insert) -- deve ser precedido por dois-pontos (:) ::

for select quant_prod from produto where cod_prod = :codproduto
into quantanterior do // <== erro (devia ser :quantanterior)

pois quantanterior é uma variável.


T+


GOSTEI 0
Midas

Midas

22/10/2003

Bingo !!!! Mesmo que esta variavel seja apenas interna da procedure?
Não sabia. muito obrigado.


GOSTEI 0
Afarias

Afarias

22/10/2003

|Mesmo que esta variavel seja apenas interna da procedure?

pois é! :)


T+


GOSTEI 0
POSTAR