1 CREATE PROCEDURE `存储过程名` ()
2 BEGIN
3 -- 需要定义接收游标数据的变量
4 DECLARE a CHAR(16);
5
6 -- 遍历数据结束标志
7 DECLARE done INT DEFAULT FALSE;
8 -- 游标
9 DECLARE 游标名1 CURSOR FOR 需要建立游标的语句(select id from xx);
10 -- 将结束标志绑定到游标
11 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
12 -- 打开游标
13 OPEN 游标名1;
14
15 -- 开始循环
16 read_loop: LOOP
17 -- 提取游标里的数据,这里只有一个,多个的话也一样;
18 FETCH 游标名1 INTO a;
19 -- 声明结束的时候
20 IF done THEN
21 LEAVE read_loop;
22 END IF;
23 -- 这里做你想做的循环的事件
24
25 INSERT INTO test.t VALUES (a);
26
27 END LOOP;
28 -- 关闭游标
29 CLOSE 游标名1;
30
31 END