《MYSQL教程mysql動(dòng)態(tài)游標(biāo)學(xué)習(xí)(mysql存儲(chǔ)過程游標(biāo))》要點(diǎn):
本文介紹了MYSQL教程mysql動(dòng)態(tài)游標(biāo)學(xué)習(xí)(mysql存儲(chǔ)過程游標(biāo)),希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
代碼如下:
-- 建立測(cè)試表和數(shù)據(jù)
create table webuser (username varchar(10));
insert into webuser values ('a1'),('a2'),('a3'),('b1'),('b2'),('b3');
commit;
-- 建立存儲(chǔ)過程
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 ;
-- 測(cè)試
call dynamic_cursor('a');
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/5165.html