1、只能用于存储过程或者函数。
2、使用步骤:声明 打开 取数据 关闭。
-- 定义游标
DECLARE
level_log_cursor CURSOR FOR SELECT
account,
channel,
gateway,
MIN(`level`) - 1
FROM
level_logs;
-- 循环结束的条件
DECLARE
CONTINUE HANDLER FOR SQLSTATE '02000'
SET done = 1;
OPEN level_log_cursor;
-- 循环处理
REPEAT
FETCH level_log_cursor INTO accountvar,
channelvar,
gatewayvar,
levelvar;
UPDATE level_by_account
SET now_level = levelvar
WHERE
account = accountvar
AND channel = channelvar
AND gateway = gatewayvar;
-- 结束循环
UNTIL done END REPEAT;
-- 关闭游标
CLOSE level_log_cursor;