《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');
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5165.html