Fórum Divida ao implementar stored procedure em controle de estoque #394804
31/01/2011
0
criei a stored procedure abaixo, na opção inserting eu sei que esta certo, mas na opção updating
eu tenho minhas duvidas, esta correto se eu implementar assim no meu controle de estoque?
Obrigado pela ajuda!!
SET TERM ^ ;
CREATE TRIGGER TR_TESTE_ESTOQUE FOR NF_ENTRADA
ACTIVE AFTER INSERT OR UPDATE POSITION 0
AS
BEGIN
IF (INSERTING) THEN
BEGIN
UPDATE PRODUTO SET QTDE_ESTOQUE = (QTDE_ESTOQUE + NEW.QTDE_ENTRADA) WHERE ID_PRODUTO = NEW.ID_PRODUTO;
END
IF (updating) THEN
BEGIN
UPDATE PRODUTO
SET QTDE_ESTOQUE = (QTDE_ESTOQUE - NEW.QTDE_ENTRADA)
WHERE ID_PRODUTO = NEW.ID_PRODUTO;
END
END^
SET TERM ; ^
Nilo Souza
Curtir tópico
+ 0Posts
01/02/2011
Emerson Nascimento
de qualquer forma você precisa eliminar o valor anterior e somar o novo valor.
IF (updating) THEN
BEGIN
UPDATE PRODUTO
SET QTDE_ESTOQUE = (QTDE_ESTOQUE - OLD.QTDE_ENTRADA + NEW.QTDE_ENTRADA)
WHERE ID_PRODUTO = NEW.ID_PRODUTO;
END
Gostei + 0
01/02/2011
Nilo Souza
Um grande abraço
Gostei + 0
01/02/2011
Nilo Souza
de qualquer forma você precisa eliminar o valor anterior e somar o novo valor.
IF (updating) THEN
BEGIN
UPDATE PRODUTO
SET QTDE_ESTOQUE = (QTDE_ESTOQUE - OLD.QTDE_ENTRADA + NEW.QTDE_ENTRADA)
WHERE ID_PRODUTO = NEW.ID_PRODUTO;
END
É new.ID_PRODUTO mesmo? Pq o produto ja esta na tabela, apenas irei alterar o campo quantidade. Fiquei em duvida.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)