mysql存储过程游标

BEGIN
	DECLARE _sid_ varchar(32);
  DECLARE _name_ varchar(32);


	
	-- 遍历数据结束标志
  DECLARE done INT DEFAULT FALSE;

  

	#定义游标
	DECLARE cur_table cursor for select c.SID_,c.NAME_ from open_clubs c;
  -- 将结束标志绑定到游标
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
	

	#临时表数据主要是保存当前分页数据的信息
	DROP TABLE IF EXISTS TEP_CLUBS_INFO;
	CREATE TEMPORARY TABLE TEP_CLUBS_INFO(   
	 SID VARCHAR(255),
	 NAME_ VARCHAR(255)
	);
	
	OPEN cur_table;

   -- 开始循环
  read_loop: LOOP
    -- 提取游标里的数据,这里只有一个,多个的话也一样;
    FETCH cur_table INTO _sid_, _name_;
    -- 声明结束的时候
    IF done THEN
      LEAVE read_loop;
    END IF;
    -- 插入临时表
    insert into TEP_CLUBS_INFO(sid,name_)values(_sid_,_name_);
  END LOOP;
  -- 关闭游标
  CLOSE cur_table;

	-- 查询临时表
	select * from TEP_CLUBS_INFO;

END

猜你喜欢

转载自fackyou200.iteye.com/blog/2300170