找了半天才解决, 感谢苍天啦。
官网链接:http://dev.mysql.com/doc/refman/5.6/en/get-diagnostics.html
存储过程代码如下:
DELIMITER $$
USE `dw`$$
DROP PROCEDURE IF EXISTS `sp_test_exception`$$
CREATE DEFINER=`data`@`%` PROCEDURE `sp_test_exception`()
BEGIN
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
BEGIN
#日志变量初始化发生异常
SET @log_type=0;
GET DIAGNOSTICS CONDITION 1 @mysql_error = MYSQL_ERRNO,@msg_text = MESSAGE_TEXT;
SET @msg_exception=CONCAT('mysql_error_no:',@mysql_error,' error_text:',@msg_text);
END;
INSERT INTO `test_sp_table`(NAME,begin_time) VALUES('lisi',NOW());
#跑数应用
#SELECT PROGRAM_ID,RUN_CODE,MAINTAINER_ID FROM dw.t_program_info WHERE EFFECTIVE=3 AND batch_id=CONCAT('',in_batch_id,'') ORDER BY SORTS,PROGRAM_ID;
#set str=CONCAT('',in_batch_id,'');
END$$
DELIMITER ;