mysql 存储过程 异常 处理 在存储过程中处理异常declare exit Handler for sqlexception能不能获取sqlexception 里面的详细信息,我想把错误信息插入到一张表中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DROP PROCEDURE IF EXISTS a;CREATE PROCEDURE A()BEGINdeclare exit handler for sqlexception select 'error'; rollback;insert into t2(a,b) VALUES('a','b','c');COMMIT;end;CALL a();sqlexception需要枚举,比如DECLARE CONTINUE HANDLER FOR SQLSTATE '02000 'DECLARE CONTINUE HANDLER FOR 1329等等。每个枚举,写入不同的错误信息。例子里面的SELECT 'ERROR'改成一个INSERT。 就是不想枚举啊,能不能做到和oracle一样异常处理:直接可以得到 sqlerrm 错误信息。EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm); ROLLBACK; zuoxingyu 你一般在存储过程里面怎么处理异常的??? 对了,大家能不能共享一份 在开发中的 mysql 存储过程 编写规范,例如 存储过程 命名,变量定义 等等规范 关于phpadmin中导入.csv文件出现中文乱码的问题 MYSQL workbench查看执行计划 mysql触发器问题 mysql返回数据列表函数功能如何实现 百分求个sql句子,需求很明确.目的很简单. - - MYSQL里的表类型是什么 如何查询日期字段之间差的分钟数 一个mysql实例所占用的内存可以预估可限制吗? InnoDB行锁实现方式问题 MySQL服务意外停止 有关日期判断查询表的问题 替换变量
DROP PROCEDURE IF EXISTS a;
CREATE PROCEDURE A()
BEGIN
declare exit handler for sqlexception
select 'error';
rollback;
insert into t2(a,b) VALUES('a','b','c');
COMMIT;
end;CALL a();
sqlexception需要枚举,比如
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000 '
DECLARE CONTINUE HANDLER FOR 1329
等等。每个枚举,写入不同的错误信息。
例子里面的SELECT 'ERROR'改成一个INSERT。
和oracle一样异常处理:直接可以得到 sqlerrm 错误信息。
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);
ROLLBACK;
zuoxingyu 你一般在存储过程里面怎么处理异常的???