mysql 数据库中定义存储过程(包含游标)
时间:2019-02-18 12:57 来源:未知 作者:IT
CREATE PROCEDURE pro_b_test ()
BEGIN
DECLARE a_id VARCHAR(50); -- 需要定义接收游标数据的变量
DECLARE a_name VARCHAR(50);
DECLARE done INT DEFAULT 0;-- 设置游标的结束标识
DECLARE cu_sc CURSOR FOR SELECT id,name FROM a_test;-- 定义游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;-- 游标结束标识
OPEN cu_sc;-- 打开游标
cursor_loop : LOOP-- 循环游标开始
FETCH cu_sc INTO a_id,a_name;-- 把游标的值赋值给变量
IF done = 1 THEN -- 结束条件
LEAVE cursor_loop;
END IF;
INSERT INTO b_test (id,name) VALUES(a_id,a_name);-- 你自己的具体操作
END LOOP cursor_loop;-- 循环游标结束
CLOSE cu_sc;-- 关闭游标
END
(责任编辑:IT)
CREATE PROCEDURE pro_b_test () BEGIN DECLARE a_id VARCHAR(50); -- 需要定义接收游标数据的变量 DECLARE a_name VARCHAR(50); DECLARE done INT DEFAULT 0;-- 设置游标的结束标识 DECLARE cu_sc CURSOR FOR SELECT id,name FROM a_test;-- 定义游标 DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;-- 游标结束标识 OPEN cu_sc;-- 打开游标 cursor_loop : LOOP-- 循环游标开始 FETCH cu_sc INTO a_id,a_name;-- 把游标的值赋值给变量 IF done = 1 THEN -- 结束条件 LEAVE cursor_loop; END IF; INSERT INTO b_test (id,name) VALUES(a_id,a_name);-- 你自己的具体操作 END LOOP cursor_loop;-- 循环游标结束 CLOSE cu_sc;-- 关闭游标 END (责任编辑:IT) |