把自己这几天写的应用游标的存储过程整理了一下,很基础,存一份模版,以后备用;
--1.将mysql分隔符从;设置为//
DELIMITER //
DROP PROCEDURE IF EXISTS `abby_test` ;
--2.定义存储过程
CREATE DEFINER = `root`@`%` PROCEDURE `abby_test` ()
BEGIN
--3.声明所需变量
DECLARE a_demo VARCHAR (100);
DECLARE b_demo BIGINT;
--4.定义游标结束标识,默认为0
DECLARE done_cursor_abby_test INT DEFAULT 0;
--5.定义游标
DECLARE cursor_abby_test CURSOR FOR
SELECT a,b FROM `xxxx` where 条件;
--6.当SQLSTATE符合条件的时候会将游标结束标识设置为1
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done_cursor_abby_test = 1;
--7.打开游标
OPEN cursor_abby_test;
--8.读取游标中数据
FETCH cursor_abby_testINTO a_demo,b_demo;
--9.符合轮询条件时继续往下走
WHILE done_cursor_abby_test <> 1 DO
~~~~~执行特定SQL~~~~~~
FETCH cursor_abby_testINTO a_demo,b_demo;
END WHILE;
--10.关闭游标
CLOSE cursor_abby_test;
END ;//
--11.将mysql分隔符从//设置为;
DELIMITER ;
本文链接:https://my.lmcjl.com/post/12567.html
4 评论