spring - 如果所有这些事务都通过,那么只有它会提交。如果任何一个事务失败,它将回滚所有事务
问题描述
我在面试中被问到这个问题.. 你能告诉我答案吗?有一个表员工.. 有身份证姓名地址和薪水.. 他有资格获得一张价值 200 的礼品卡和另一张价值 100 卢比的礼品卡。 . 他还将被征收 50 卢比的税款..
如果所有这些事务都通过,那么只有它会提交。如果任何一个事务失败,它将回滚所有上述事务。IE。有三个或更多事务..如果即使 1 个失败,所有执行的事务都会回滚,并且对数据库没有影响。如果全部通过,则只有数据库注册更改
解决方案
在 BEGIN - EXCEPTION - END 块中执行此操作。您必须添加代码来更新薪水。如果将其封装在过程中,请确保内部没有提交。
BEGIN
--add 200rs
--add 100rs
--substract 50rs
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;
推荐阅读
- apache-spark - Got TransportException:使用结构化流式读写数据到 Cassandra 时连接已关闭
- python - send_keys python selenium的问题
- javascript - 反应映射渲染问题
- c - 嵌套函数导致内核版本 > 5.7 上的 C 中的分段错误
- sql-server - 如何删除一个表中 ID 与字段为特定值的另一表行匹配的行?
- python - 网站所有页面上的 Flask WTForms 搜索栏
- django - 有没有比这更好的方法来为多个应用程序加载 Django 静态目录?谢谢
- vue.js - Vue 单元测试调整屏幕大小并更新 DOM
- javascript - Angular-如何根据多选选项显示输入字段?
- java - 在 Apache Beam 中进行 SQL 转换时如何将 int 转换为布尔值