SQL事务用法begin tran,commit tran和rollback tran的用法
生活随笔
收集整理的這篇文章主要介紹了
SQL事务用法begin tran,commit tran和rollback tran的用法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Sql Server 2005/2008中提供了begin tran,commit tran和rollback tran來使用事務(wù)。begin tran表示開始事務(wù), commit tran表示提交事務(wù),rollback tran表示回滾事物
-- ============================================= -- Author: cynimoon -- Create date: 2009-10-09 -- Description: 示例存儲(chǔ)過程 -- ============================================= -- EXEC TEST_PROC '文綜','包括歷史,地理,政治','政治','文綜的一門' CREATE PROCEDURE [dbo].[TEST_PROC] @A_Name NVARCHAR(20), -- A表姓名 @A_Remark NVARCHAR(4000), -- A表備注 @B_Name NVARCHAR(20), -- B表姓名 @B_Remark NVARCHAR(4000) -- B表備注 AS BEGIN TRY BEGIN TRAN -- 在A表中插入數(shù)據(jù) INSERT INTO [dbo].[A] ( [A_Name] , [A_Remark] ) VALUES ( @A_Name , @A_Remark ) -- 在B表中插入數(shù)據(jù) INSERT INTO [dbo].[B] ( [A_ID] , [B_Name] , [B_Remark] ) VALUES ( @@IDENTITY -- 返回最后插入的標(biāo)識(shí)值 , @B_Name , @B_Remark ) COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN INSERT INTO [dbo].[ErrorLog] ( [EL_Procedure] -- 異常存儲(chǔ)過程名稱 , [EL_OperateTime] ) -- 報(bào)異常時(shí)間 VALUES ( 'TEST_PROC' , CONVERT(DATETIME,GETDATE(),20) ) END CATCH 注:1. @@IDENTITY的作用是返回最后插入的標(biāo)識(shí)值。 2. 我在rollback tran中加入一個(gè)專門記錄異常的表,以便產(chǎn)于異常發(fā)生的時(shí)間和確定報(bào)異常的存儲(chǔ)過程的名稱。 原文鏈接: begin tran 可以理解成新建一個(gè)還原點(diǎn)。 commit tran提交這個(gè)自begin tran開始的修改 rollback tran 表示還原到上個(gè)還原點(diǎn)。?
轉(zhuǎn)載于:https://www.cnblogs.com/hushzhang/p/7520118.html
總結(jié)
以上是生活随笔為你收集整理的SQL事务用法begin tran,commit tran和rollback tran的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jquery对象和dom对象获取html
- 下一篇: MySQL之最基本命令