Mysql存储过程的基本结构
2017-07-13 16:40
267 查看
存储过程的基本结构
删除原有存储过程设置DELIMITER
创建存储过程
设置DELIMITER
--删除原有存储过程 DROP PROCEDURE IF EXISTS `testCursor`; --设置新的DELIMITER,以便在存储过程中使用“;” DELIMITER $$ --创建存储过程 CREATE PROCEDURE testCursor() BEGIN .... END $$ --设置DELIMITER,改回“;” DELIMITER ;
存储过程主体中的顺序
定义局部变量为局部变量赋值
定义游标
定义处理程序
打开游标
定义LOOP
将游标值赋值到局部变量
业务处理逻辑
判断游标是否结束,如果游标结束则离开LOOP
结束LOOP
关闭游标
--存储过程开始 BEGIN --定义局部变量 DECLARE _USERID BIGINT(20) DEFAULT NULL; DECLARE _USERCOUNT INT(11) DEFAULT NULL; DECLARE _DONE INT(11) DEFAULT FALSE; DECLARE _IDSTR VARCHAR(255) DEFAULT NULL; --定义游标 DECLARE _CUR_USERS CURSOR FOR SELECT id FROM t_sys_users ORDER BY id DESC LIMIT 0,2; --定义处理程序用于处理游标结束的情况,这个必须定义在游标之后 DECLARE CONTINUE HANDLER FOR NOT FOUND SET _DONE = TRUE; --打开游标 OPEN _CUR_USERS; --命名一个LOOP,在leave时使用,注意:LOOP后没有标点 LOOP_USERS: LOOP --将游标值赋值到局部变量 FETCH _CUR_USERS INTO _USERID; --业务处理逻辑 --设置值1 SET _IDSTR = CONCAT(IFNULL(_IDSTR,""),"|",_USERID); --设置值2 SELECT COUNT(1) INTO _USERCOUNT FROM t_sys_users; --判断游标是否结束,如果结束则离开LOOP IF(_DONE) THEN --注意:这里leave的是loop的名字 LEAVE LOOP_USERS; END IF; --结束LOOP END LOOP; --关闭游标 CLOSE _CUR_USERS; --业务处理 SELECT _IDSTR; --存储过程结束 END$$
相关文章推荐
- (zz)mysql存储过程基本函数
- T-SQL 存储过程: (修订版) 根据基本表结构及其数据生成 INSERT INTO ... 的 SQL
- MySQL 存储过程的基本用法
- MySQL 存储过程的基本用法
- T-SQL 存储过程: (修订版) 根据基本表结构及其数据生成 INSERT INTO ... 的 SQL (转)
- mysql存储过程基本函数
- MySQL 存储过程的基本用法
- mysql存储过程基本函数
- MySQL 存储过程的基本用法
- oracle存储过程学习笔记1–基本结构
- mysql存储过程基本函数
- MySQL 存储过程的基本用法介绍
- mysql存储过程基本语法和函数
- MySQL 存储过程的基本用法
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本函数
- mysql存储过程基本语法和函数
- mysql存储过程基本函数
- mysql存储过程基本函数