Загрузка данных


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);