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事务的主要内容,如果未能解决你的问题,请参考以下文章