網摘
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