Sqlserver 存储过程中结合事务的代码

2022-05-24 0 936

复制代码 代码如下:

–方式一

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)

drop procedure [dbo].[USP_ProcedureWithTransaction_Demo]

GO

— =============================================

— Author: <ChengXiaoming>

— Create date: <2010-06-11>

— Description: <Demo:存储过程中使用事务>

— =============================================

Create PROCEDURE [dbo].[USP_ProcedureWithTransaction_Demo]

As

Begin

SET XACT_ABORT ON

Begin Transaction

Insert Into Lock(LockTypeID) Values(‘A’)–此语句将出错,LockTypeID为Int类型

Update Lock Set LockTypeID = 2 Where LockID = 32

Commit Transaction

SET XACT_ABORT OFF

End

GO

–方式二

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)

drop procedure [dbo].[USP_ProcedureWithTransaction_Demo]

GO

— =============================================

— Author: <ChengXiaoming>

— Create date: <2010-06-11>

— Description: <Demo:存储过程中使用事务>

— =============================================

Create PROCEDURE [dbo].[USP_ProcedureWithTransaction_Demo]

As

Begin

Begin Transaction

Insert Into Lock(LockTypeID) Values(‘A’)–此语句将出错,LockTypeID为Int类型

Update Lock Set LockTypeID = 1 Where LockID = 32

Commit Transaction

If(@@ERROR <> 0)

Rollback Transaction

End

GO

–方式三

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)

drop procedure [dbo].[USP_ProcedureWithTransaction_Demo]

GO

— =============================================

— Author: <ChengXiaoming>

— Create date: <2010-06-11>

— Description: <Demo:存储过程中使用事务>

— =============================================

Create PROCEDURE [dbo].[USP_ProcedureWithTransaction_Demo]

As

Begin

Begin Try

Begin Transaction

Update Lock Set LockTypeID = 1 Where LockID = 32–此语句将出错,LockTypeID为Int类型

Insert Into Lock(LockTypeID) Values(‘A’)

Commit Transaction

End Try

Begin Catch

Rollback Transaction

End Catch

End

GO

Exec [USP_ProcedureWithTransaction_Demo]

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MsSql Sqlserver 存储过程中结合事务的代码 https://www.niceym.com/60067.html