mysql 存储过程 循环


网摘
DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `sp_pament_TrainFee`() BEGIN /*局部变量的定义 declare*/ declare strYear int; declare strEnrollID int; declare feesum int; declare stop int default 0; declare cur cursor for( select year ,EnrollID ,sum(Fee) from trainmanage where ReturnStatus !=1 group by Year,EnrollID ); /*这把 游标 异常后 捕捉 * 并设置 循环使用 变量 stop 为 null 跳出循环。 */ declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null; /*开游标*/ OPEN cur; /*游标向下走一步,将查询出来的值付给定义的变量*/ FETCH cur INTO strYear,strEnrollID,feesum; WHILE ( stop is not null) DO update payment set ExpectTrain=feesum where EnrollID = strEnrollID and right(ID,2) =right(strYear,2) ; FETCH cur INTO strYear,strEnrollID,feesum; END WHILE; /*游标向下走一步*/ CLOSE cur; END

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM