Dúvida em SP de iniciante...

Firebird

02/09/2008

Como posso fazer uma SP que atualize um valor e me devolva o valor atualizado?

Tentei assim:

CREATE PROCEDURE baixaestoque (qtd integer, codigo varchar(10))
RETURNS (estoquenew integer)
AS
BEGIN
update pecas set quantidade = quantidade - :qtd where codigoantigo = :codigo;
select quantidade from pecas where codigoantigo = :codigo into :estoquenew
END

Mas ele não me retona nada... uso FB2.0/Delphi/Zeos

Agradeço (antecipadamente) a ajuda.


Oldprogramer

Oldprogramer

Curtidas 0

Respostas

N_informatica

N_informatica

02/09/2008

Não entendi pq vc precisa do valor atualizado como retorno se ele irá ficar gravado na tabela.

Se me explicar melhor o q pretende fazer possa ajuda-lo.

Atenciosamente.


GOSTEI 0
Bystealth

Bystealth

02/09/2008

Faltou o uma linha na sua SP de pois do select.

CREATE PROCEDURE baixaestoque (qtd integer, codigo varchar(10))
RETURNS (estoquenew integer)
AS
BEGIN
  update pecas set quantidade = quantidade - :qtd 
  where codigoantigo = :codigo;

  select quantidade 
  from pecas 
  where codigoantigo = :codigo into :estoquenew;

  suspend; -- ****FALTOU ESTA LINHA****
END 



GOSTEI 0
Rodolpho123

Rodolpho123

02/09/2008

[b:8922db0740]N_Informatica[/b:8922db0740] Não entendi pq vc precisa do valor atualizado como retorno se ele irá ficar gravado na tabela. Se me explicar melhor o q pretende fazer possa ajuda-lo.


Disse tudo....explique melhor a sua situação e o por quê disto...


GOSTEI 0
POSTAR