Mysql 存储过程使用游标

CREATE PROCEDURE test

BEGIN

-- 定义参数
    DECLARE _id INT;

-- 定义游标
    DECLARE no_more_products INT DEFAULT 0;
    DECLARE RESULT_test CURSOR FOR
SELECT num1 from numtest;

-- 如果NOT FOUND游标
DECLARE  CONTINUE HANDLER FOR NOT FOUND  SET  no_more_products = 1;

-- 打开游标
OPEN RESULT_test;

-- 开始循环
REPEAT

-- 读取每一行
    FETCH RESULT_test INTO _id;

-- 插入语句
    insert into B(id) VALUES(_id);

-- 如果参数等于1跳出
  UNTIL no_more_products = 1

--结束循环
END REPEAT;

--关闭游标
CLOSE RESULT_test;

END

调用存储过程:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpxgy.html