BEGIN#声明一个开关变量flag用于循环结束判断 DECLARE flag BOOL DEFAULT FALSE;#声明变量1DECLARE BL1 VARCHAR(255);#声明变量2DECLARE BL2 VARCHAR(255);#声明可选变量1DECLARE kxbl1 VARCHAR(255) ; #声明可选变量2DECLARE kxbl2 VARCHAR(255) ; # 游标DECLARE yb CURSOR FOR ( #查询SQLselect 字段1,字段2 from 表 where 条件);#下面这句必须放在游标后面,用来结束循环游标DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET flag = TRUE;# 可选变量赋值select 字段A,字段B INTO kxbl1,kxbl2 from 表 where 条件(限定只能返回一条)#打开游标open yb ;#开始循环WHILE !flag DO #将游标中字段1和字段2赋值给变量1和变量2FETCH yb INTO BL1,BL2;
IF !flag
then
# 具体的sqlupdate 表 set 字段 = BL1 where 条件字段= BL2;#结束if
END IF;
#结束循环
END WHILE;
#关闭游标
CLOSE yb; #其他的SQL语句END
更新:20190909
模板使用说明:此模板可以用来查询数据库中的数据,之后将查询后的数据循环,处理每一条数据。
更新:20191229
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET flag = TRUE;
这是用来处理错误消息的。