存储过程使用事物的几种方式 转载自--http://www.cnblogs.com/chengxiaoming/archive/2010/06/11/1756163.html...
--方式一
ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
GO
-- =============================================
-- Author:??????? <ChengXiaoming>
-- Create date: <2010-06-11>
-- Description:??? <Demo:存儲過程中使用事務>
-- =============================================
CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
As
Begin
??? SET XACT_ABORT ON
??????? BeginTransaction
??????????? InsertInto Lock(LockTypeID) Values('A')--此語句將出錯,LockTypeID為Int類型
??????????? Update Lock Set LockTypeID =2Where LockID =32
??????? CommitTransaction
??? SET XACT_ABORT OFF
End
GO
--方式二
ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
GO
-- =============================================
-- Author:??????? <ChengXiaoming>
-- Create date: <2010-06-11>
-- Description:??? <Demo:存儲過程中使用事務>
-- =============================================
CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
As
Begin
??? BeginTransaction
??????? InsertInto Lock(LockTypeID) Values('A')--此語句將出錯,LockTypeID為Int類型
??????? Update Lock Set LockTypeID =1Where LockID =32
??? CommitTransaction
??? If(@@ERROR<>0)
??????? RollbackTransaction???????
End
GO
--方式三
ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
GO
-- =============================================
-- Author:??????? <ChengXiaoming>
-- Create date: <2010-06-11>
-- Description:??? <Demo:存儲過程中使用事務>
-- =============================================
CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
As
Begin
??? Begin Try
??????? BeginTransaction
??????????? Update Lock Set LockTypeID =1Where LockID =32--此語句將出錯,LockTypeID為Int類型
??????????? InsertInto Lock(LockTypeID) Values('A')
??????? CommitTransaction
??? End Try
??? Begin Catch
??????? RollbackTransaction???
??? End Catch???
End
GO
Exec[USP_ProcedureWithTransaction_Demo]
轉(zhuǎn)載于:https://www.cnblogs.com/yzenet/archive/2012/08/16/2641452.html
總結(jié)
以上是生活随笔為你收集整理的存储过程使用事物的几种方式 转载自--http://www.cnblogs.com/chengxiaoming/archive/2010/06/11/1756163.html...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sharepoint 2010 网站无法
- 下一篇: 转 ofbiz的webservice接口