什么是SQLSERVER事务处理和事务回滚?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是SQLSERVER事务处理和事务回滚?相关的知识,希望对你有一定的参考价值。
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。当一个事务的某一个操作发生问题时,整个事务可以回滚掉,就像没有做任何操作一样。这就是事务回滚。
如果一个事务的所有操作均成功,则就可以提交事务,保证事务的完整性。
应用程序主要通过指定事务启动和结束的时间来控制事务。
以MS SQL Server的Transac-SQL语言为例,
事务启动:
BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable [ WITH MARK [ \'description\' ] ] ]
结束事务
可以使用 COMMIT 或 ROLLBACK 语句结束事务。
1 事务的提交
BEGIN TRANSACTION T1
INSERT tabel1 ...
UPDATE table2 ...
...
/* 当所有成功操作完成,提交事务 */
COMMIT TRAN T1
2 事务的回滚
BEGIN TRANSACTION T1
INSERT tabel1 ...
...
/* 当发生错误或事务被取消, 回滚事务 */
ROLLBACK TRAN T1 参考技术A 事务处理是指由一些列的的数据库操作完成一个事务的过程。当一个事务的某一个操作发生问题时,整个事务可以回滚掉,就像没有做任何操作一样。这就是事务回滚。如果一个事务的所有操作均成功,则就可以提交事务,保证事务的完整性。应用程序主要通过指定事务启动和结束的时间来控制事务。以MS SQL Server的Transac-SQL语言为例,事务启动:BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable [ WITH MARK [ 'description' ] ] ]结束事务可以使用 COMMIT 或 ROLLBACK 语句结束事务。1 事务的提交BEGIN TRANSACTION T1/* 当所有成功操作完成,提交事务 */COMMIT TRAN T12 事务的回滚BEGIN TRANSACTION T1/* 当发生错误或事务被取消, 回滚事务 */本回答被提问者采纳
sqlserver事务可以嵌套多少事务,为啥,回答对的还可以加分
参考技术A sqlserver中事务可以无限嵌套,全局变量@@TranCount会自动统计开启的事务数量,每一次Begin Transaction都会引起@@TranCount加1。而每一次Commit Transaction都会使@@TranCount减1,而RollBack Transaction会回滚所有的嵌套事务包括已经提交的事务和未提交的事务,而使@@TranCount置0。至于具体为什么可以嵌套如此多的事务,我说不清呀
以上是关于什么是SQLSERVER事务处理和事务回滚?的主要内容,如果未能解决你的问题,请参考以下文章