DROP PROCEDURE IF EXISTS test_sp1 ##如果存在先删除该储存过程 CREATE PROCEDURE test_proc( ) BEGIN DECLARE t_error INTEGER DEFAULT 0; ##定义错误标识变量t_error ## continue在这个地方的含义是,如果出现了SQLException异常,程序不中止,继续执行 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; ##若发生sqlExcetion异常则赋值t_error为1 START TRANSACTION; ##开启事务 INSERT INTO user VALUES(NULL, '男'); INSERT INTO user VALUES('哈哈', '男'); IF t_error = 1 THEN ##判断是否有错误 ROLLBACK; ##回滚 ELSE COMMIT; ##提交 END IF; ##结束IF条件 select t_error; ##查询t_error值,执行该存储过程,若无异常,则t_error为0,若有异常则t_error为1 END ##调用存储过程 call test_proc ##若无异常,则查询结果为0,若有异常则为1 。