CREATE PROCEDURE 存储过程名称()
BEGIN
DECLARE column 数据类型 DEFAULT 默认值;
DECLARE column1 数据类型 DEFAULT 默认值;
DECLARE sum INT DEFAULT 0;
DECLARE count INT DEFAULT 0;
DECLARE done INT DEFAULT 0;
DECLARE cur1 CURSOR FOR (SELECT * FROM a );
DECLARE cur2 CURSOR FOR (SELECT * FROM b);
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = null;
SELECT count(*) FROM b INTO count;
OPEN cur1;
FETCH cur1 INTO culumn[,column1,column2];
WHILE (done IS NOT NULL) DO
IF count > 0 THEN
OPEN cur2;
#赋值给全局变量
FETCH cur2 INTO culumn[,column1,column2];
WHILE (sum < count)DO
#业务逻辑
#赋值给全局变量
FETCH cur2 INTO culumn[,column1,column2];
SET sum = sum+1;
END WHILE;
SET done = 0;
SET sum = 0;
CLOSE cur2;
END IF;
FETCH cur1 INTO culumn[,column1,column2];
END WHILE;
CLOSE cur1;
END
存储过程双游标
猜你喜欢
转载自blog.csdn.net/qq_29410905/article/details/82949702
今日推荐
周排行