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] 
  • 相关阅读:
    最新Xcode7.x环境下上架iOS App到AppStore 完整流程
    rails提供的validators
    Ruby 符号【转】
    xaml学习笔记
    fedora安装rails缺少js runtime和cannot load such file -- sqlite3/sqlite3_native解决办法
    学习笔记——敏捷开发
    结队编程(电梯调度问题)
    【转】javascript操作Select标记中options集合
    【软件工程】Word frequency program
    【转】诗社之死
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3668620.html
Copyright © 2011-2022 走看看