各位用户为了找寻关于mysql动态游标学习(mysql存储过程游标)的资料费劲了很多周折。这里教程网为您整理了关于mysql动态游标学习(mysql存储过程游标)的相关资料,仅供查阅,以下为您介绍关于mysql动态游标学习(mysql存储过程游标)的详细内容

代码如下:

-- 建立测试表和数据 create table webuser (username varchar(10)); insert into webuser values ('a1'),('a2'),('a3'),('b1'),('b2'),('b3'); commit; -- 建立存储过程 drop procedure if exists dynamic_cursor; delimiter // CREATE PROCEDURE dynamic_cursor (IN p_name varchar(10)) BEGIN     DECLARE done INT DEFAULT 0;     DECLARE v_username varchar(10);     DECLARE cur CURSOR for( SELECT username from webuser_view);     DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;     DROP VIEW IF EXISTS webuser_view;     SET @sqlstr = "CREATE VIEW webuser_view as ";     SET @sqlstr = CONCAT(@sqlstr , "SELECT username FROM webuser WHERE username like '", p_name,"%'");     PREPARE stmt FROM @sqlstr;     EXECUTE stmt;     DEALLOCATE PREPARE stmt;     OPEN cur;     f_loop:LOOP      FETCH cur INTO v_username;     IF done THEN         LEAVE f_loop;       END IF;     SELECT v_username;         END LOOP f_loop;     CLOSE cur; END; // delimiter ; -- 测试 call dynamic_cursor('a');