MS Sql事务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MS Sql事务相关的知识,希望对你有一定的参考价值。

1、以下是一个简单事务存储过程,其中Users表ID为主键

CREATE PROCEDURE SP_TRANSACTION
AS
  BEGIN
     BEGIN TRANSACTION
    INSERT INTO USERS(ID,NAME)VALUES(1000,‘TEST1000‘);
    IF @@ERROR<>0
         GOTO CLEARUP

    INSERT INTO USERS(ID,NAME)VALUES(1000,‘TEST1001‘);
    IF @@ERROR<>0
      GOTO CLEARUP
  COMMIT

  CLEARUP:
    ROLLBACK
 END

 

备注:

@@ERROR表示如果前一个 Transact-SQL 语句执行没有错误,则返回 0。如果前一个语句遇到错误,则返回错误号。

INSERT INTO USERS(ID,NAME)VALUES(1000,‘TEST1000‘);
print @@ERROR --当主键存在1000时,错误号为2627
print @@ERROR --返回 0,因为上一条Transact-SQL 语句“print @@ERROR”执行没有错

以上是关于MS Sql事务的主要内容,如果未能解决你的问题,请参考以下文章

sql MS SQL事务

sql MS SQL分布式事务

Flyway 5.0.7 非事务性迁移 MS-SQL

如何在 Sql Alchemy Python 中为 MS SQL 后端指定事务隔离级别

在 MS SQL Server Management Studio 中处理事务的最佳方式

MS SQL 查询未提交的事务和执行的SQL语句