DELIMITER $$
USE `demo`$$
DROP PROCEDURE IF EXISTS `demo1`$$
CREATE DEFINER=`root`@`%` PROCEDURE `demo1`()
leave_name:BEGIN
DECLARE t_error INT DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
SELECT COUNT(*) INTO @i FROM demo_table;
WHILE (@i>0) DO
SET @i=@i-1; /*计数*/
/*此处省略逻辑部分代码*/
IF (t_error=1) THEN
SELECT @i;
LEAVE leave_name;
END IF;
END WHILE;
END$$
DELIMITER ;
以上实现了再代码出现SQLEXCEPTION错误时自动结束程序并打印I的值。
主要部分是:
leave_name:BEGIN
LEAVE leave_name;
END$$
实现了结束的功能