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;

复制代码 代码如下:– 建立测试表和数据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’);

上一篇 Win7系统Aero特效无法显示怎么办?win7系统Aero特效无法显示的解决方法
下一篇 Win10声卡由于其配置信息(注册表中的)不完整或已损坏的解决方法