DELIMITER $$ CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`sale_setProblem`( vProblemCode VARCHAR(25) ) BEGIN /** * Update column sale.problem with a problem code * @param vProblemCode Code to set or unset * @table tmp.sale(saleFk, hasProblem) */ UPDATE sale s JOIN tmp.sale ts ON ts.saleFk = s.id SET s.problem = CONCAT( IF(ts.hasProblem, CONCAT(s.problem, ',', vProblemCode), REPLACE(s.problem, vProblemCode , ''))); END$$ DELIMITER ;