Mysql循环游标并作为其中一个参数插入到另一个表中

-- 创建存储过程
DROP PROCEDURE IF exists init_budget_proc;
CREATE PROCEDURE init_budget_proc()
BEGIN
    DECLARE p_ou VARCHAR (64);
    -- 遍历数据结束标识

    DECLARE done varchar(2);

    -- 创建游标

    DECLARE ou_cur CURSOR FOR SELECT es.portalorg_ou as ou FROM  shop_info es where es.shoptype=0;

    -- 将结束标识绑定到游标

    declare continue handler for not found set done = true; 

    set done = false;

    -- 打开游标

    OPEN ou_cur;

    -- 开始循环

    read_loop:LOOP
        FETCH ou_cur into p_ou;

        IF done THEN
            leave read_loop;

        END IF;

         insert into eshop_info_data(code,name,portalorg_ou_mount) select em.`code`,em.`name`,p_ou from eshop_mall_data_info em ;

    end LOOP;

    -- 关闭游标

    close ou_cur;

end;

call init_budget_proc(); 运行成功

阅读更多

没有更多推荐了,返回首页