#方式一
#给定一个月份,然后计算出所在的季度
CREATE PROCEDURE pro_test7(mom INT)
BEGIN
DECLARE result varchar(10);
CASE
WHEN mom>=1 AND mom<=3 THEN
SET result='第一季度';
WHEN mom>=4 AND mom<=6 THEN
SET result='第二季度';
WHEN mom>=7 AND mom<=9 THEN
SET result='第三季度';
ELSE
SET result='第四季度';
END CASE;
SELECT CONCAT('传递的月份为:',mom,'---计算出来的结果为:',result);
END;
#计算从1加到N的值
CREATE PROCEDURE pro_test8(n INT)
BEGIN
DECLARE total INT DEFAULT 0;
DECLARE num INT DEFAULT 1;
WHILE num<=n DO
SET total = total + num;
SET num = num +1;
END WHILE;
SELECT total;
END;
CALL pro_test8(100);
#满足条件退出循环
#计算从1加到n的值
CREATE PROCEDURE pro_test9(n INT)
BEGIN
DECLARE total INT DEFAULT 0;
REPEAT
SET total=total+n;
SET n = n -1;
UNTIL n=0
END REPEAT;
SELECT total;
END;
CALL pro_test9(3);
#计算从1加到n的值-----------------》loop + leave
CREATE PROCEDURE pro_test10(n INT)
BEGIN
DECLARE total INT DEFAULT 0;
c: LOOP
SET total=total+n;
SET n=n-1;
IF n<0 THEN
LEAVE c;
END IF;
END LOOP c;
SELECT total;
END;
CALL pro_test10(3);