常见的就是select一大堆结果集合,然后存储过程更新某些字段,很常见,

BEGIN

DECLARE IDS int;
DECLARE permitstatus_s int;

DECLARE
b INT DEFAULT 0;
DECLARE done INT DEFAULT 0;
DECLARE cur_1 CURSOR FOR (SELECT

t_asset_log_detail.ID as IDS
FROM
t_asset_log,
t_asset_log_detail
WHERE
t_asset_log.ID = t_asset_log_detail.ASSET_LOG_ID

AND (permitstatus = 0 or permitstatus is null)
AND t_asset_log.OP_TYPE = 1);


DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur_1;
REPEAT
FETCH cur_1 INTO IDS;

/*获取第一条记录*/
IF NOT done THEN
SELECT concat('myvar is ', IDS);
update t_asset_log_detail set permitstatus=4 where ID=IDS;
COMMIT;
END IF;
UNTIL done END REPEAT;

CLOSE cur_1;

end