本文主要是介绍【mysql 存储过程】存储过程之流程控制语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-- 1、IF语句
-- 创建存储过程,判断两个输入参数哪一个大
-- 输入的第一个参数对应p1,第二个对应p2,@ax用来接收输出变量p3; 如果p1>p2,输出1;如果p1=p2,输出2;其他情况,输出3。-- -- 定义存储过程
DELIMITER $$
CREATE PROCEDURE difference(IN p1 INTEGER,IN p2 INTEGER,OUT p3 INTEGER)BEGINIF p1 > p2 THEN SET p3 = 1;ELSEIF p1= p2 THEN SET p3 = 2;ELSE SET p3 = 3;END IF;
END $$DELIMITER ;-- --调用存储过程
call difference(12,56,@ax);
SELECT @ax;+------+
| @ax |
+------+
| 3 |
+------+-- 2、CASE语句-- -- 定义存储过程
#如果该存储过程存在则删除
drop procedure if exists difference2;
DELIMITER $$
CREATE PROCEDURE difference2(IN p1 INTEGER,IN p2 INTEGER,OUT p3 INTEGER)BEGINcasewhen p1 > p2 THEN SET p3 = 1;when p1= p2 THEN SET p3 = 2;ELSE SET p3 = 5;END CASE;
END $$DELIMITER ;-- --调用存储过程
call difference2(123,561,@ax);
SELECT @ax;
+------+
| @ax |
+------+
| 5 |
+------+-- 3.WHILE循环
DELIMITER $$CREATE PROCEDURE do_while(x int)
BEGINDECLARE v INT DEFAULT 5;set v=x;WHILE v>0 DOselect v;SET v=v-1;END WHILE;END$$DELIMITER ;
call do_while(8);
这篇关于【mysql 存储过程】存储过程之流程控制语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!