COMMIT语句(在SQL中)可能会失败吗?怎么样?
发布时间:2020-12-12 16:16:38 所属栏目:MsSql教程 来源:网络整理
导读:在处理数据库事务时,假定事务中的所有语句都已经执行而没有问题,那么可能会导致事务中的最后一个COMMIT语句失败的条件(如果有的话)? 例如,假设你有一些two-phase或three-phase commit protocol你做了一堆语句,然后等待一些主进程告诉你什么时候可以最后提交
在处理数据库事务时,假定事务中的所有语句都已经执行而没有问题,那么可能会导致事务中的最后一个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而有所不同吗? 解决方法COMMIT可能会失败.您可能有足够的资源来记录您希望做出的所有更改,但缺少实际实施更改的资源.这不是考虑其他原因可能会失败: >更改本身可能不适合数据库的约束. 而所有其他“简单”的原因并不在我头上. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – crawler / scraper的数据库是什么?
- sql-server – 从查询结果中删除重复的数据
- sql – Postgres Rails选择与订单不同
- sql-server-ce – 在数据库中重置自动编号(Identity Field)
- Sqlserver case...when + union 用法
- 简化SQL Server备份与还原到云工作原理及操作方法
- SQLServer和Oracle常用函数对比
- Sqlserver 字符串分割
- SQLSERVER外键约束NO ACTION,CASCADE,SET NULL,SET DEFAULT
- 在ASP.NET中连接SQL Server的简单方法