mysql的存储过程、游标 、事务实例详解
下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考。
其中,涉及到了存储过程、游标(双层循环)、事务。
【说明】:代码中的注释只针对当时业务而言,无须理会。
代码如下:
DELIMITER $$
DROP PROCEDURE IF EXISTS `transferEmailTempData`$$
CREATE PROCEDURE transferEmailTempData(IN jobId VARCHAR(24))
BEGIN
DECLARE idval VARCHAR(24) DEFAULT '';
DECLARE taskIdval VARCHAR(24) DEFAULT '';
DECLARE groupIdval VARCHAR(24) DEFAULT '';
DECLARE emailval VARCHAR(50) DEFAULT '';
/*标识正式表是否存在一条相同数据,即:groupId、email相同*/
DECLARE infoId VARCHAR(24) DEFAULT '';
/*标识事务错误*/
DECLARE err INT DEFAULT 0;
/*达到一定数量就进行提交,计数器*/
DECLARE counts INT DEFAULT 0;
/*标识是否回滚过*/
DECLARE isrollback INT DEFAULT 0;
/*游标遍历时,作为判断是否遍历完全部记录的标记*/