mysql循环cursor游标模板

猿份哥 2月前 ⋅ 93 阅读

此模板避免了,cursor循环遍历时候出现最后一次的重复

CREATE DEFINER=`root`@`%` PROCEDURE `proce_test`()
BEGIN

	DECLARE v_col1 VARCHAR(32);
	DECLARE v_col2 VARCHAR(32);
	DECLARE v_col3 VARCHAR(32);
	
	DECLARE flag int default true;
	
	DECLARE yuanfenge CURSOR for
	SELECT col1,col2,col3 FROM  tbl WHERE....;
	DECLARE CONTINUE HANDLER FOR NOT found set flag=false;
	-- 1 打开游标
	open yuanfenge;
	REPEAT
	  FETCH yuanfenge INTO v_col1,v_col2,v_col3;
		if(flag) THEN		   
			-- 2 每一项要处理的代码逻辑块(增删改查)		
		END IF;
	UNTIL flag=false
	END REPEAT;
	-- 3 关闭游标
	CLOSE yuanfenge;
END

全部评论: 0

    我有话说: