在处理数据库事务时,假定事务中的所有语句都已经执行而没有问题,那么可能会导致事务中的最后一个COMMIT语句失败的条件(如果有的话)?
例如,假设你有一些two-phase或three-phase commit protocol你做了一堆语句,然后等待一些主进程告诉你什么时候可以最后提交事务:
-- <initial handshaking stuff> START TRANSACTION; -- <Execute a bunch of sql statements> -- <Inform master of readiness to commit> -- <Time passes... background transactions happening while we wait> -- <Receive approval to commit from master (finally!)> COMMIT;
如果您的代码到达最终的COMMIT语句并将其发送到您的DBMS,您是否可以在该语句中收到错误(唯一性问题,数据库已满等)?有什么错误?为什么?它们如何出现?它根据您运行的DBMS而有所不同吗?
解决方法
原文地址:https://www.jb51.cc/mssql/82908.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。