zoukankan      html  css  js  c++  java
  • SQL Server save transaction

    SQL Server save transaction

    准备:

      create table Nums(X int);

      目的:只向表中插入一行。

    -------------------------------------------------------------------------------------------------------------------------------------

      begin transaction tran_A -- 最好是为事务定义一个名字。

        insert into Nums(X) values(9);

        save transaction save_tran; --定义一个事务的保存点、当要回滚事务时,可以回滚到这里。

        insert into Nums(X) values(4),(3),(2),(1);

        rollback transaction save_tran;--回滚事务到保存点

      commit transaction tran_A;-- 提交事务。
      go

      

     

    USE [warm]
    GO

    /****** Object: StoredProcedure [dbo].[P_GetYID] Script Date: 06/15/2019 20:19:45 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    create PROCEDURE [dbo].[P_GetYID]
    @VouID int output
    AS
    BEGIN
    declare @TC int
    select @TC = @@TRANCOUNT
    if @TC = 0
    begin transaction
    else
    save transaction T_BAK
    -------------------------------------------------
    update T_VouID_Bank with(tablockx) set I_VouID = I_VouID + 1,@VouID = I_VouID
    if @@ROWCOUNT <> 1 or @@ERROR <> 0 goto ERR
    -------------------------------------------------
    if @TC = 0
    commit transaction
    return 0
    ERR:
    if @TC = 0
    rollback transaction
    else
    rollback transaction T_BAK
    return 1
    END
    GO

     
  • 相关阅读:
    CI平台
    【转】深藏不露,处世之道
    编写vscode插件
    css背景图宽度只适应,高度不变
    vue实现pc端无限加载功能
    box-shadow比较美观的阴影
    Nuxt.js项目实战
    vue图片放大镜效果
    vue分页组件
    为什么计算机中的小数位无法精确
  • 原文地址:https://www.cnblogs.com/bwdblogs/p/11028755.html
Copyright © 2011-2022 走看看