存储过程模板记录

-- 临时修改换行符
DELIMITER //
-- 定义存储过程名称以及入参
DROP PROCEDURE IF EXISTS method1;
CREATE PROCEDURE method1(IN param1 int)
BEGIN
    -- 定义循环结束标识
    DECLARE done INT DEFAULT FALSE;
    -- 定义接收游标结果集的变量
    DECLARE row_id varchar(255);
    -- 定义游标, 替换your_table为你的表名, 替换conditions为你的查询条件
    DECLARE cur CURSOR FOR select row_id from your_table where conditions;
    -- 定义CONTINUE HANDLER捕获,当游标尝试从结果集中获取下一行数据,但已经没有更多数据时,MySQL 会抛出一个特殊的 NOT FOUND 条件
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

    OPEN cur;

    -- 开始循环
    read_loop:
    LOOP
        -- 接收游标结果集
        -- 注意: 使用游标时, FETCH 语句后面的变量数量必须与游标查询结果集中的列数相匹配, 否则报:“Incorrect number of FETCH variables”
        FETCH cur INTO row_id;
        IF done THEN
            -- 跳出循环
            LEAVE read_loop;
        END IF;

        -- 这里可以执行你的子查询,比如更新操作
        -- 例如: UPDATE other_table SET some_column = some_value WHERE some_other_column = row_id;
    END LOOP;

    CLOSE cur;
END //

-- 换回原换行符
DELIMITER ;

-- 调用存储过程
CALL method1(1);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值