Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2384302
  • 博文数量: 473
  • 博客积分: 12252
  • 博客等级: 上将
  • 技术积分: 4307
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-12 10:02
文章分类

全部博文(473)

文章存档

2012年(8)

2011年(63)

2010年(73)

2009年(231)

2008年(98)

分类: Mysql/postgreSQL

2009-05-25 16:38:46


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 ;


阅读(889) | 评论(0) | 转发(1) |
0

上一篇:mysql游标实例3

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

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