Sqlserver 存储过程中使用事务


--方式一 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]

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...