[firebase-br] TRIGGER ALTERANDO O CODIGO DO PRODUTO NAUM A QUANTIDADE

Prisma Sistemas - Moacir prismars em prismars.com.br
Seg Nov 7 17:26:14 -03 2005


Cesar,
 IF (INSERTING) THEN
    UPDATE produtos
    SET ESTOQUE = ESTOQUE - NEW.quantidade
    WHERE COD_PRODUTO = NEW.cod_produto;
 ELSE
 IF (DELETING) THEN
    UPDATE PRODUTOS
    SET ESTOQUE = ESTOQUE + quantidade
    WHERE COD_PRODUTO = OLD.cod_produto;
 ELSE
 IF (UPDATING) THEN BEGIN
    UPDATE PRODUTOS
 >> Troque esta linha:
!!-->>>>>>>>    SET COD_PRODUTO = ESTOQUE - OLD.quantidade
 >>Por:
    SET ESTOQUE = ESTOQUE - OLD.quantidade
    WHERE cod_produto = OLD.cod_produto;

    UPDATE PRODUTOS
    SET ESTOQUE = ESTOQUE + NEW.quantidade
    WHERE COD_PRODUTO = NEW.cod_produto;
  END
end

[ ]´s
moacir


Cesar escreveu:
> Tenho uma trigger que serve para atualizar o estoque..
> ela esta funcionando certinho na hora que estou incluindo ...e quando 
> salvo blz.
> mais quando eu vou mandar alterar..ela esta alterando o codigo do 
> produto e naum a quantidade.
> alguem pode me ajudar??
> a mina trigger esta assim
> no before da tabela PEDIDO
> AS
> begin
>  IF (INSERTING) THEN
>     UPDATE produtos
>     SET ESTOQUE = ESTOQUE - NEW.quantidade
>     WHERE COD_PRODUTO = NEW.cod_produto;
>  ELSE
>  IF (DELETING) THEN
>     UPDATE PRODUTOS
>     SET ESTOQUE = ESTOQUE + quantidade
>     WHERE COD_PRODUTO = OLD.cod_produto;
>  ELSE
>  IF (UPDATING) THEN BEGIN
>     UPDATE PRODUTOS
>     SET COD_PRODUTO = ESTOQUE - OLD.quantidade
>     WHERE cod_produto = OLD.cod_produto;
>
>     UPDATE PRODUTOS
>     SET ESTOQUE = ESTOQUE + NEW.quantidade
>     WHERE COD_PRODUTO = NEW.cod_produto;
>   END
> end
>
>     
>
>     
>        
> _______________________________________________________ Yahoo! Acesso 
> Grátis: Internet rápida e grátis. Instale o discador agora!
> http://br.acesso.yahoo.com/
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>




Mais detalhes sobre a lista de discussão lista