zoukankan      html  css  js  c++  java
  • 存储过程使用事物的几种方式 转载自http://www.cnblogs.com/chengxiaoming/archive/2010/06/11/1756163.html

    --方式一
    ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
    dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
    GO
    -- =============================================
    --
    Author:        <ChengXiaoming>
    --
    Create date: <2010-06-11>
    --
    Description:    <Demo:存储过程中使用事务>
    --
    =============================================
    CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
    As
    Begin
       
    SET XACT_ABORT ON
           
    BeginTransaction
               
    InsertInto Lock(LockTypeID) Values('A')--此语句将出错,LockTypeID为Int类型
                Update Lock Set LockTypeID =2Where LockID =32
           
    CommitTransaction
       
    SET XACT_ABORT OFF
    End
    GO

    --方式二
    ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
    dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
    GO
    -- =============================================
    --
    Author:        <ChengXiaoming>
    --
    Create date: <2010-06-11>
    --
    Description:    <Demo:存储过程中使用事务>
    --
    =============================================
    CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
    As
    Begin
       
    BeginTransaction
           
    InsertInto Lock(LockTypeID) Values('A')--此语句将出错,LockTypeID为Int类型
            Update Lock Set LockTypeID =1Where LockID =32
       
    CommitTransaction
       
    If(@@ERROR<>0)
           
    RollbackTransaction       
    End
    GO

    --方式三
    ifexists (select*from dbo.sysobjects where id =object_id(N'[dbo].[USP_ProcedureWithTransaction_Demo]') andOBJECTPROPERTY(id, N'IsProcedure') =1)
    dropprocedure[dbo].[USP_ProcedureWithTransaction_Demo]
    GO
    -- =============================================
    --
    Author:        <ChengXiaoming>
    --
    Create date: <2010-06-11>
    --
    Description:    <Demo:存储过程中使用事务>
    --
    =============================================
    CreatePROCEDURE[dbo].[USP_ProcedureWithTransaction_Demo]
    As
    Begin
       
    Begin Try
           
    BeginTransaction
               
    Update Lock Set LockTypeID =1Where LockID =32--此语句将出错,LockTypeID为Int类型
                InsertInto Lock(LockTypeID) Values('A')
           
    CommitTransaction
       
    End Try
       
    Begin Catch
           
    RollbackTransaction   
       
    End Catch   
    End
    GO

    Exec[USP_ProcedureWithTransaction_Demo]

  • 相关阅读:
    html+php超大视频上传功能
    html+php超大视频上传教程
    html+php超大视频上传方案
    html+php超大视频上传技术
    html+php超大视频上传实例解析
    html+php超大视频上传示例
    html+php超大视频上传实例
    矩阵求导
    概率密度
    概率分布函数
  • 原文地址:https://www.cnblogs.com/yzenet/p/2641452.html
Copyright © 2011-2022 走看看