当前位置:Gxlcms > mysql > mysql存储过程的游标和控制结构

mysql存储过程的游标和控制结构

时间:2021-07-01 10:21:17 帮助过:72人阅读

通过该段代码理解mysql存储过程的游标和控制结构 MySQL DELIMITER $$DROP PROCEDURE IF EXISTS `books`.`largest_order`$$CREATE DEFINER=`root`@`192.168.18.248` PROCEDURE `largest_order`(out largest_id int)BEGIN declare this_id int; declare this_am

通过该段代码理解mysql存储过程的游标和控制结构 MySQL
DELIMITER $$

DROP PROCEDURE IF EXISTS `books`.`largest_order`$$

CREATE DEFINER=`root`@`192.168.18.248` PROCEDURE `largest_order`(out largest_id int)
BEGIN
 declare this_id int;
 declare this_amount float;
 declare l_amount float default 0.0;
 declare l_id int;
 declare done int default 0;
 declare cl cursor for select orderid,amount from orders;
 declare continue handler for sqlstate '02000' set done =1;
 open cl;
 repeat
   fetch cl into this_id,this_amount;
   if not done then
     if this_amount > l_amount then
        set l_amount = this_amount;
        set l_id = this_id;
      end if;
    end if;
 until done end repeat;
 close cl;
 set largest_id = l_id;
END$$

DELIMITER ;

人气教程排行