Pessoal boa noite!
Preciso de um help, dos especialistas rs.
Seguinte, estou desenvolvendo uma aplicação de controle de estoque básica (ASP.NET COM MYSQL), onde incluo via aplicação mais de um registro em uma tabela, [entrada_produto_item], e tenho a seguinte procedure.
DELIMITER //
CREATE PROCEDURE `SP_AtualizaEstoque`( `idproduto` int, `qtde_produto_item` int, `idalmoxarifado` int)
BEGIN
declare contador int(11);
SELECT count(*) into contador FROM estoque WHERE idproduto = idproduto;
IF contador > 0 THEN
UPDATE estoque SET qtde=qtde + qtde_produto_item
WHERE idproduto = idproduto and idalmoxarifado=idalmoxarifado;
ELSE
INSERT INTO estoque (idproduto, qtde,idalmoxarifado) values (idproduto, qtde_produto_item,idalmoxarifado);
END IF;
END //
DELIMITER ;
Que é chamada pela TRIGGER
DELIMITER //
CREATE TRIGGER `TRG_EntradaProduto_AI` AFTER INSERT ON `entrada_produto_item`
FOR EACH ROW
BEGIN
CALL SP_AtualizaEstoque (new.idproduto, new.qtde_produto_item , new.idalmoxarifado);
END //
DELIMITER ;
Porém ao incluir via aplicação mais de um registro de produtos com ID diferentes na tabela entrada_produto_item, ao analisar a tabela [estoque] que é controlada pela procedure (SP_AtualizaEstoque), não mostra mais de um registro, apenas está incrementando no mesmo registro a quantidade de produtos informado.
Minha suspeita seja que na Procedure o filtro ".... idproduto = idproduto" não esteja fazendo distinção dos códigos diferentes dos procutos incluidos.
Alguém consegue me ajudar? desde já agradeço