como criar essa procedure ?
bom galera,
preciso de uma procedure que atualize o estoque de produtos,
se OPERACAO = E(ENTRADA) atualize para +
se OPERACAO = S(SAIDA) atualize para -
alguma coisa paracido com esse scritp(tentei mais não deu certo)
preciso de uma procedure que atualize o estoque de produtos,
se OPERACAO = E(ENTRADA) atualize para +
se OPERACAO = S(SAIDA) atualize para -
alguma coisa paracido com esse scritp(tentei mais não deu certo)
CREATE PROCEDURE ATUALIZA_ESTOQUE ( codigo_barras bigint, quantidade integer, operacao char(1)) as begin /* Entrada no Estoque */ if (operacao = ´E´) then update produtos p set p.quantidade = p.quantidade + quantidade where p.codigo_barras = codigo_barras; /*Saida do Estoque*/ if (operacao = ´S´) then update produtos p set p.quantidade = p.quantidade - quantidade where p.codigo_barras = codigo_barras; suspend; end;
Fabiano Góes
Curtidas 0
Respostas
Fabiano Góes
03/05/2007
galera consegui,
não sei se da melhor maneira mais está atualizando certinho.
eis o script caso alguem necessite:
se alguem tiver alguma solução melhor e quizer apresentar fique a vontade !!!
não sei se da melhor maneira mais está atualizando certinho.
eis o script caso alguem necessite:
CREATE PROCEDURE ATUALIZA_ESTOQUE ( codigo_barras bigint, quantidade integer, operacao char(1)) as declare variable qtde_atual integer; declare variable qtde_atualiza integer; BEGIN select p.quantidade from produtos p where (p.codigo_barras = :codigo_barras) into:QTDE_ATUAL; IF (:OPERACAO = ´E´) THEN qtde_atualiza =: qtde_atual + :quantidade; IF (:OPERACAO = ´S´) THEN qtde_atualiza =: qtde_atual - :quantidade; update produtos p set p.quantidade =:QTDE_ATUALIZA where p.codigo_barras = :codigo_barras; SUSPEND; END^
se alguem tiver alguma solução melhor e quizer apresentar fique a vontade !!!
GOSTEI 0