zoukankan      html  css  js  c++  java
  • Sqlserver 存储过程中结合事务的代码

    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] 
  • 相关阅读:
    iaas,paas,saas理解
    July 06th. 2018, Week 27th. Friday
    July 05th. 2018, Week 27th. Thursday
    July 04th. 2018, Week 27th. Wednesday
    July 03rd. 2018, Week 27th. Tuesday
    July 02nd. 2018, Week 27th. Monday
    July 01st. 2018, Week 27th. Sunday
    June 30th. 2018, Week 26th. Saturday
    June 29th. 2018, Week 26th. Friday
    June 28th. 2018, Week 26th. Thursday
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3668620.html
Copyright © 2011-2022 走看看