MySQL存储过程自从5.0版本诞生以来,一直因为没有丰富的调试工具而被人诟病。 MySQL 产品在经历了被SUN以及ORACLE收购以来, 无论在功能还是性能方面都经历了诸多提升。 但从存储过程这一方面来讲,MySQL 5.5 增加了错误缓冲区的获取方法; MySQL 5.6 进一步把错误缓冲区扩大,以便能存储尽可能多的警告以及错误信息。 当然这些只是软件本身的功能提升。 现在ORACLE把存储过程的调试集成到了Virtual Studio 里, 可以很方便的从Virtual Studio 里面调试存储过程, 简化了我们编写存储过程的后续维护难度。

当然了,第三方商业公司也开发了些对于存储过程调试的工具,比如DBFORGE STUDIO FOR MYSQL。  这个工具调试少量的代码还行。

比如下面的存储过程:

DELIMITER $$USE `t_girl`$$DROP PROCEDURE IF EXISTS `sp_vs2010`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_vs2010`(OUT p2 INT)BEGINDECLARE i INT DEFAULT 0;loop_label1:LOOPIF i > 10 THEN  LEAVE loop_label1;END IF;SET i = i + 1;END LOOP;SET p2 = i;END$$DELIMITER ;

DBFORGE STUDIO FOR MYSQL 的调试截图:

Virtual Studio For MySQL 的调试截图。