Trigger baixar em estoque

Delphi

31/08/2006

Criei um Trigger para atualizar um determinado produto pelo código quando for inserido uma nova quantidade, ok funciona muito bem.
Mas, criei um outro para atualizar um determinado produto quando diminuo uma quantidade.
Veja o Trigger:
AS
begin
  if (deleting) then
   update tabela_estoque
   SEt Quantidade_atu = Quantidade_atu - Old.quantidade
   where Cod_prod = Old.cod_produto;

end

No entanto não consigo fazer funcionar, pois não sei como utiliza-lo via Delphi.
Alguém pode me ajudar?


Peninha

Peninha

Curtidas 0

Respostas

Mvicente

Mvicente

31/08/2006

use o evento after delete da tabela na qual está excluindo


GOSTEI 0
Peninha

Peninha

31/08/2006

Bom, Vc fala colocar este trigger dentro do Evento After Delete?

Usei este código na tentativa de desparar o trigger que criei para baixar meu estoque:
 Dmdados.IBTab_Estoque.Open;
  Dmdados.IBTab_Estoque.Edit;
   Dmdados.IBTab_EstoqueCOD_PROD.Value:=Dmdados.IBDS_ItenPedidoCOD_PRODUTO.Value;
   Dmdados.IBTab_EstoqueQUANTIDADE_ATU.Value:=(Dmdados.IBTab_EstoqueQUANTIDADE_ATU.Value -    Dmdados.IBDS_ItenPedidoQUANTIDADE.Value);
   Dmdados.IBDS_ItenPedido.Post;

Achei que diminuindo o a quantidade de estoque por ela mesma e a quantidade que esta sendo lançada resolveria meu problema, ainda estou sofrendo com isto.
Por favor me ajudem.
Erivan marinho.


GOSTEI 0
Dadonas

Dadonas

31/08/2006

Existem várias formas de se fazer isso e vou te falar duas:

Dentro de uma query coloque um código parecido com esse:

update tab_estoque
set quantidade =  :p_quantidade
where cod_produto = :p_cod_produto


Antes de executar esta query passe os parâmetros. O calculo da quantidade será então feita no Delphi e vc passa como parâmetro a quantidade calculada. Não se esqueça de dar um commit no banco depois disso.

Outra forma de fazer isso é criar uma trigger na tabela de pedidos onde depois de inserir um registro vc vc pega a quantidade do produto inserido e subtrai da quantidade do estoque. Não sei te dar o exemplo de como ficaria no FB porque só trabalho com Oracle, mas esta é a idéia.

Fallow


GOSTEI 0
POSTAR