24 lines
556 B
SQL
24 lines
556 B
SQL
/**
|
|
* Checks whether a passed extension number has valid sintax
|
|
*
|
|
* @param v_extension The extension to check format
|
|
* @return %TRUE if it's well formated
|
|
**/
|
|
DROP PROCEDURE IF EXISTS pbx.extensionIsValid;
|
|
DELIMITER $$
|
|
CREATE PROCEDURE pbx.extensionIsValid (vExtension VARCHAR(255))
|
|
BEGIN
|
|
DECLARE vIsValid BOOLEAN;
|
|
|
|
SET vIsValid = vExtension IS NULL
|
|
OR (vExtension REGEXP '^[0-9]{4}$'
|
|
AND MOD(vExtension, 100) != 0);
|
|
|
|
IF NOT vIsValid
|
|
THEN
|
|
SIGNAL SQLSTATE '45000'
|
|
SET MESSAGE_TEXT = 'EXTENSION_INVALID_FORMAT';
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|