DELIMITER //
CREATE FUNCTION sumN(n INT)
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE s INT DEFAULT 0;
WHILE i <= n DO
SET s = s + i;
SET i = i + 1;
END WHILE;
RETURN s;
END //
CREATE FUNCTION prN(n INT)
RETURNS BIGINT
DETERMINISTIC
BEGIN
DECLARE i INT DEFAULT 1;
DECLARE p BIGINT DEFAULT 1;
WHILE i <= n DO
SET p = p * i;
SET i = i + 1;
END WHILE;
RETURN p;
END //
DELIMITER ;
-- Проверка
SELECT sumN(5), prN(5);