sql 语句中commit的作用:
如果 @@TRANCOUNT 大于 1,则 COMMIT TRANSACTION使 @@TRANCOUNT 按 1 递减并且事务将保持活动状态。
如果 @@TRANCOUNT 为 1,COMMIT TRANSACTION 使得自从事务开始以来所执行的所有数据修改成为数据库的永久部分,释放事务所占用的资源,并将 @@TRANCOUNT 减少到 0。
扩展资料
使用COMMIT提交当前事务,使事务中执行的变更永久化,所有事务的更改都将为其他事务可见,而且保证当崩溃发生时的可持续性;
可以使用此语句终止SET TRANSACTION语句的只读事务;
可以使用此语句手动提交疑问在分布式的事务上;
通过修改的表,查看事务期间所作的任何更改,但其他用户不能看到所做的更改。
参考资料来源:百度百科-COMMIT
COMMIT命令用于把事务所做的修改保存到数据库,把上一个COMMIT或ROLLBACK命令之后的全部事务都保存到数据库。全部修改都首先被送到临时回退区域,如果这个临时回退区域没有空间了,不能保存对数据库所做的修改,数据库很可能会挂起,禁止进行进一步的事务 *** 作。
语法是:commit [work]。关键字commit是语法中惟一不可缺少的部分,其后是用于终止语句的字符或命令,具体内容取决于不同的实现。关键字work是个选项,其惟一作用是让命令对用户更加友好。
扩展资料:
对于数据库的大规模数据加载或撤消来说,应该多使用COMMIT语句;然而,过多的COMMIT语句会让工作需要大量额外时间才能完成。
在某些实现里,事务不是通过使用COMMIT命令提交的,而是由退出数据库的 *** 作引发提交。但是,在某些实现里,比如MySQL,在执行SETTRANSACTION命令之后,在数据库收到COMMIT或ROLLBACK之前,自动提交功能是不会恢复的。
commit之后还会占用数据库事务日志的。根据查询相关公开信息显示,事务开启后,在commit之前,只是将其内容写入日志,commit后才会真正写入数据库。事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式的变化。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)