博客
关于我
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
阅读量:789 次
发布时间:2023-02-13

本文共 1103 字,大约阅读时间需要 3 分钟。

事务异常处理:从基础到实践

什么是异常?

在数据库操作中,异常是指由于数据约束、业务逻辑错误或系统问题导致的异常状态。理解异常的处理 mechanism 是掌握事务处理的关键。

插入异常数据的演示

正常插入操作

insert into user_balance(user_id, user_money) values (3, 10.5);

这个操作会成功执行,没有异常产生。

故意引入异常数据

insert into user_balance(user_id, user_money) values (3, 'abc');

此时会发生 ORA-01828: 指定的文本不符合预期的数值类型 错误。

存储过程中的事务处理

未提交的事务处理

begin    insert into user_balance(user_id, user_money) values (2, 22);end;

在默认情况下,存储过程会使用自动提交模式,这意味着事务会自动 commit。

手动提交的事务处理

begin    insert into user_balance(user_id, user_money) values (2, 22);    commit;end;

只有在显式调用 commit 后,数据才会被永久保存。

自定义异常处理的实现

异常处理的基本结构

declare handler_for_exception exception;begin    insert into user_balance(user_id, user_money) values (4, 'aaa');    insert into user_balance(user_id, user_money) values (4, 24);end;

显式错误处理

begin    declare handler_for_exception continue handler for sqlexception;    show errors;    insert into user_balance(user_id, user_money) values (4, 'aaa');  -- 这里会抛出异常    insert into user_balance(user_id, user_money) values (4, 24);  -- 这个语句会正常执行end;

今天的课程案例

通过上述案例可以看出,事务处理的核心是 明确操作的边界条件正确处理异常。在实际开发中,合理设计异常处理机制可以显著提升系统的稳定性和可维护性。

转载地址:http://fhdfk.baihongyu.com/

你可能感兴趣的文章
mysql数据碎片整理
查看>>
MySQL数据类型
查看>>
MySQL数据类型字节长度
查看>>
mysql数据被误删的恢复方案
查看>>
MySQL数据读写分离(MaxScale)上干货!!!
查看>>
mysql整库导入、导出
查看>>
mysql文本函数和数字函数
查看>>
Mysql新建用户和数据库并授权
查看>>
mysql日志
查看>>
mysql日志 事务问题_mysql因为事务日志问题无法启动
查看>>
mysql日志文件
查看>>
mysql日志管理学习笔记
查看>>
mysql日志问题定位实用命令
查看>>
MySQL日期时间函数大全
查看>>
mysql时间相减的问题
查看>>
mysql时间表示和计算
查看>>
MySQL是如何做容器测试的?
查看>>
mysql更改数据库表utf-8_修改mysql数据库为 utf-8
查看>>
mysql更改表引擎INNODB为MyISAM的方法总结
查看>>
mysql更新一个表里的字段等于另一个表某字段的值
查看>>