Mysql游标使用

1.定义游标

DECLARE cursor_name CURSOR FOR select_statement

2.打开游标

OPEN cursor_name--这个语句打开先前声明的游标。

3.遍历游标

FETCH cursor_name INTO var_name [, var_name] ...

4.关闭游标

CLOSE cursor_name

5.清除游标

declear cursor_name

示例:

BEGIN
 DECLARE  no_more_record INT DEFAULT 0;
 DECLARE  pID BIGINT(20);
 DECLARE  pValue DECIMAL(15,5);
 DECLARE  cur_record CURSOR FOR   SELECT colA, colB from tableABC;  /*首先这里对游标进行定义*/
 DECLARE  CONTINUE HANDLER FOR NOT FOUND  SET  no_more_record = 1; /*这个是个条件处理,针对NOT FOUND的条件,当没有记录时赋值为1*/

 OPEN  cur_record; /*接着使用OPEN打开游标*/
 FETCH  cur_record INTO pID, pValue; /*把第一行数据写入变量中,游标也随之指向了记录的第一行*/

 WHILE no_more_record != 1 DO
 INSERT  INTO testTable(ID, Value)
 VALUES  (pID, pValue);
 FETCH  cur_record INTO pID, pValue;

 END WHILE;
 CLOSE  cur_record;  /*用完后记得用CLOSE把资源释放掉*/
END

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/82622121
今日推荐