手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >Sqlserver 存储过程中结合事务的代码
Sqlserver 存储过程中结合事务的代码
摘要:复制代码代码如下:--方式一ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[d...

复制代码 代码如下:

--方式一

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]

【Sqlserver 存储过程中结合事务的代码】相关文章:

SQL server 管理事务和数据库介绍

Sql Server 创建存储过程

Sql Server中的事务介绍

SqlServer创建存储过程

sql server停止和重启命令

Sql Server 字符串聚合函数

MsSql 存储过程分页代码 [收集多篇]

SqlServer 分页存储过程

sqlserver 2000 远程连接 服务器的解决方案

sqlserver数据库迁移的几种方式

精品推荐
分类导航