MYSQL教程mysql动态游标学习(mysql存储过程游标)
发布时间:2020-12-12 00:58:23 所属栏目:MySql教程 来源:网络整理
导读:《MYSQL教程mysql动态游标学习(mysql存储过程游标)》要点: 本文介绍了MYSQL教程mysql动态游标学习(mysql存储过程游标),希望对您有用。如果有疑问,可以联系我们。 代码如下: -- 建立测试表和数据 create table webuser (username varchar(10)); insert int
《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'); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |