sh.shad
جمعه 05 آذر 1395, 21:55 عصر
با سلام
من کوئری زیر را نوشتم
SELECT * FROM `mdl_user` WHERE `username`='ghom'
UPDATE `mdl_user`
SET `m_PersonnelId`=PersonnelId
WHERE `username`='ghom'
هنگام اجرا داخل کوئری یک رکورد جدول یوزر را آپدیت می کند ولی زمانیکه داخل پروسیجر قرار میدهم و آن را فراخوانی میکنم ،
کل رکوردهای جدول یوزر را آپدیت می کند و شرط آن درنظر گرفته نمی شود؟ :ناراحت:
اینم پروسیچرم:
DELIMITER $$USE `moodle_3`$$DROP PROCEDURE IF EXISTS `User_Update`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `User_Update`(
/*in LoginUserIdbigint(10),*/
IN PersonnelId BIGINT(10),
IN username VARCHAR(100)
)
BEGINUPDATE `mdl_user`
SET `m_PersonnelId`=PersonnelId WHERE `mdl_user`.`username` = username;
END$$DELIMITER ;
نحوه فراخوانی:
CALL `User_Update` (888,'ghom');
من mysql زیاد بلد نیستم ، لطفا یکی منو راهنمایی کنه ؟ مشکل از کجاست؟
باتشکر
من کوئری زیر را نوشتم
SELECT * FROM `mdl_user` WHERE `username`='ghom'
UPDATE `mdl_user`
SET `m_PersonnelId`=PersonnelId
WHERE `username`='ghom'
هنگام اجرا داخل کوئری یک رکورد جدول یوزر را آپدیت می کند ولی زمانیکه داخل پروسیجر قرار میدهم و آن را فراخوانی میکنم ،
کل رکوردهای جدول یوزر را آپدیت می کند و شرط آن درنظر گرفته نمی شود؟ :ناراحت:
اینم پروسیچرم:
DELIMITER $$USE `moodle_3`$$DROP PROCEDURE IF EXISTS `User_Update`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `User_Update`(
/*in LoginUserIdbigint(10),*/
IN PersonnelId BIGINT(10),
IN username VARCHAR(100)
)
BEGINUPDATE `mdl_user`
SET `m_PersonnelId`=PersonnelId WHERE `mdl_user`.`username` = username;
END$$DELIMITER ;
نحوه فراخوانی:
CALL `User_Update` (888,'ghom');
من mysql زیاد بلد نیستم ، لطفا یکی منو راهنمایی کنه ؟ مشکل از کجاست؟
باتشکر