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] 
  • 相关阅读:
    PHP封装数据库连接
    MySQL和php数据访问
    php测试题
    微信分享缩略图
    js时间戳转时间格式
    php调用微信客服消息接口给用户发送信息
    ueditor富文本
    转:【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势
    jq实现div移入与移出以及获得与失去焦点
    mysql索引
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3668620.html
Copyright © 2011-2022 走看看