首页 > 解决方案 > 如果所有这些事务都通过,那么只有它会提交。如果任何一个事务失败,它将回滚所有事务

问题描述

我在面试中被问到这个问题.. 你能告诉我答案吗?有一个表员工.. 有身份证姓名地址和薪水.. 他有资格获得一张价值 200 的礼品卡和另一张价值 100 卢比的礼品卡。 . 他还将被征收 50 卢比的税款..

如果所有这些事务都通过,那么只有它会提交。如果任何一个事务失败,它将回滚所有上述事务。IE。有三个或更多事务..如果即使 1 个失败,所有执行的事务都会回滚,并且对数据库没有影响。如果全部通过,则只有数据库注册更改

标签: springoraclehibernatetransactions

解决方案


在 BEGIN - EXCEPTION - END 块中执行此操作。您必须添加代码来更新薪水。如果将其封装在过程中,请确保内部没有提交。

BEGIN
  --add 200rs

  --add 100rs

  --substract 50rs

  COMMIT;

EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;

END;

推荐阅读