In MySql Stored Procedure updating more than one time

Posted by Both FM on Stack Overflow See other posts from Stack Overflow or by Both FM
Published on 2012-05-31T10:22:50Z Indexed on 2012/05/31 10:40 UTC
Read the original article Hit count: 212

Filed under:
|
|
|

In MySql

UPDATE `inventoryentry` SET `Status` = 1 WHERE `InventoryID`=92 AND `ItemID`=28;

It successfully update only one row , where inventoryID = 92 and itemID=28 , the following message displayed.

1 row(s) affected 

when I put this on stored procedure, as follow

CREATE DEFINER=`root`@`localhost` PROCEDURE `Sample`(IN itemId INT, IN itemQnty 
DOUBLE, IN invID INT)

BEGIN

DECLARE crntQnty DOUBLE;
DECLARE nwQnty DOUBLE;

SET crntQnty=(SELECT `QuantityOnHand` FROM `item` WHERE id=itemId);
SET nwQnty=itemQnty+crntQnty;
UPDATE `item` SET `QuantityOnHand`=nwQnty WHERE `Id`=itemId;

UPDATE `inventoryentry` SET `Status` = 1 WHERE `InventoryID`=invID AND 
`ItemID`=itemId;


END$$

calling stored procedures

CALL Sample(28,10,92)

It update all the status = 1 in inventoryentry against InventoryID (i.e. 92) ignoring ItemID, instead of updating only one row. The following message displayed!

5 row(s) affected 

Why Stored procedure ignoring itemID in update statement ? or Why Stored procedure updating more than one time? But without Stored procedure it working fine.

© Stack Overflow or respective owner

Related posts about mysql

Related posts about sql