DELIMITER $$ CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`vehicle_checkNumberPlate`( vNumberPlate VARCHAR(10), vCountryCodeFk VARCHAR(2) ) BEGIN /** * Comprueba si la matricula pasada tiene el formato * correcto dependiendo del pais del vehiculo. * * @param vNumberPlate Número de matricula * @param vCountryCodeFk Código de pais */ DECLARE vRegex VARCHAR(45); IF vCountryCodeFk IS NULL THEN SET vRegex = '^[A-Z0-9 -]{6,12}$'; ELSE SELECT regex INTO vRegex FROM vehiclePlateRegex WHERE countryCodeFk = vCountryCodeFk; END IF; IF NOT vNumberPlate REGEXP BINARY (vRegex)THEN CALL util.throw(CONCAT('La matricula ', vNumberPlate, ' no es valida', IF(vCountryCodeFk IS NOT NULL, CONCAT(' para ', vCountryCodeFk), ''))); END IF; END$$ DELIMITER ;