Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2859781
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类:

2012-03-22 13:28:42

原文地址:mysql游标使用经典实例2 作者:sss0213


DELIMITER $$

DROP PROCEDURE IF EXISTS `testdb`.`test` $$
CREATE PROCEDURE `test`(in cprdt1 varchar(30))
BEGIN
  DECLARE done INT DEFAULT 0;
  declare done1 INT DEFAULT 0;
  declare tprdt varchar(200);
  declare prdt1 varchar(30) ;
  declare prdt2 varchar(30);
  declare inta int;

  declare curbom cursor for select prdt from sto_boms where flag='1'  and cprdt =prdt1;
  declare curbom2 cursor for select prdt from sto_boms where flag='1' and cprdt =prdt2;
  DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1, done1 = 1;

  set tprdt="(";
  set inta=0;
  set prdt1=cprdt1;

  open    curbom;
  fetch   curbom into prdt1;
  while done=0 do
      if prdt1<>"" then
         set tprdt=concat(tprdt,"'",prdt1,"',");
         set prdt2=prdt1;
      end if  ;

      /*open    curbom2;
      fetch   curbom2 into prdt2;
      while done1=0 do
      if prdt2<>"" then
         set tprdt=concat(tprdt,"'",prdt2,"',");
      end if  ;
      fetch   curbom2 into prdt2;
      end while;
      close curbom2;    */

  fetch   curbom into prdt1;
  end while;
  close curbom;

   set tprdt=concat(tprdt,")");
   select tprdt;
END $$

DELIMITER ;


阅读(622) | 评论(0) | 转发(0) |
0

上一篇:mysql游标经典实例1

下一篇:mysql游标实例3

给主人留下些什么吧!~~