Hi all,
I defined the next stored procedure:
CREATE DEFINER=mydb
@%
PROCEDURE CorrectMsisdns
()
BEGIN
DECLARE sizetmp INT DEFAULT 9;
DECLARE idtmp VARCHAR(32) DEFAULT "";
DECLARE msisdnorig VARCHAR(16) DEFAULT "";
DECLARE new_msisdn VARCHAR(16) DEFAULT "";
DECLARE msisdns CURSOR FOR SELECT id, msisdn FROM profile WHERE msisdn LIKE '%+51%';
OPEN msisdns;
FETCH msisdns INTO idtmp, msisdnorig; IF LENGTH(msisdnorig) > 9 THEN SET sizetmp = LENGTH(msisdnorig); SET new_msisdn = SUBSTRING(msisdnorig FROM (sizetmp-8)); UPDATE private_profile SET msisdn = CONCAT('+51', new_msisdn) WHERE id = idtmp; END IF;
CLOSE msisdns;
END