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]

  • 相关阅读:
    chrome 连接池超时值
    chrome 内部设置
    error: incomplete type 'blink::Event' named in nested name specifier note: forward declaration of 'blink::Event'
    js promise详解
    How Chromium Displays Web Pages
    调试chromium设置 How to enable logging
    禁止ultraedit域名
    chromium paint graphic
    Web IDL in Blink
    js的闭包
  • 原文地址:https://www.cnblogs.com/yzenet/p/2641452.html
Copyright © 2011-2022 走看看