RES: [firebase-br] TRIGGER ALTERANDO O CODIGO DO PRODUTO NAUM AQUANTIDADE
Ton
hevertonc em hotmail.com
Seg Nov 7 17:42:01 -03 2005
Só complementando...
Até onde entendi, no update vc deve somar o que já foi baixado antes e
baixar o novo... Certo?
Intaum faz assim...
IF (UPDATING) THEN BEGIN
UPDATE PRODUTOS
SET ESTOQUE = ESTOQUE + OLD.quantidade - NEW.quantidade
WHERE COD_PRODUTO = NEW.cod_produto;
END
Isso se a alteração for na quantidade, agora se for no produto do pedido,
o Insert e o Delete já resolvem...
Abraços...
PS: Eu também costumava fazer o controle de estoque dessa maneira, e
acabei tendo muitos problemas, inclusive com procedures de atualização de
estoque e tal e quando o cliente queria, por algum motivo, saber qual era o
estoque até tal dia de tal mês, por exemplo...
Resolvi esse problema e muitos outros, e facilitei muito o esquema de
estoque, o mesmo que vc tem, trabalhando com Kardex... (Fica aki a dica)
Ton
Analista de Sistemas
DotCom Informática
"A informação não é um produto,
mas sim a matéria prima." (Ton)
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Cesar
Enviada em: segunda-feira, 7 de novembro de 2005 16:56
Para: FireBase
Assunto: [firebase-br] TRIGGER ALTERANDO O CODIGO DO PRODUTO NAUM
AQUANTIDADE
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