mysql function 中使用游标

create function p_t1(tid varchar(20))
returns varchar(200)
begin
 declare tmpName varchar(50) default '';
 declare allName varchar(200) default '';
 declare done int;
 declare cur1 CURSOR FOR SELECT username FROM  pw_var_user where id<'100';
 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;
 OPEN cur1;
 cursor_loop:loop
   FETCH cur1 INTO tmpName;
   if done=1 then
     leave cursor_loop;
   end if;
   set tmpName = CONCAT(tmpName ,",") ;
   set allName = CONCAT(allName ,tmpName) ;
 end loop cursor_loop;
 CLOSE cur1;
 if length(allName)>1  then
   set allName=left(allName,length(allName)-1);
 end if;
return allName;
end

posted on 2017-02-28 09:22  adolfmc  阅读(403)  评论(0编辑  收藏  举报