angangJonny 发表于 2013-1-29 16:21:09

mysql 存储过程游标

 
1.把从数据库查询出来的所有name链接起来。

/*初始化*/drop procedure if existsuseCursor //   /*建立 存储过程 create */CREATE PROCEDURE useCursor() BEGIN/*局部变量的定义 declare*/    declare tempName varchar(50) DEFAULT ''; /*局部变量的定义 生命长度 设置默认值 declare*/    declare allName VARCHAR(4000) DEFAULT '';/*创建游标*/ declare cur1 CURSOR for select username from trade_01.f_user; /*设置游标异常 捕捉捕获异常停止游标   *   并设置 循环使用 变量 tmpname 为 null 跳出循环。*/DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET tempName = NULL; /*开始游标*/ OPEN cur1;/*游标向下走一步*/ FETCH cur1 INTO tempName;/*循环游标*/ WHILE (tempName is not null) DO set tempName=CONCAT(tempName,";");/*拼接名称*/ set allName= CONCAT(allName,tempName); FETCH cur1 INTO tempName; END WHILE;/*关闭游标*/ CLOSE cur1; /*输出拼接名称*/ select allName; END/*调用存储过程*/call useCursor()// 2.CONCAT(str1,str2,…) 
  返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。
页: [1]
查看完整版本: mysql 存储过程游标