码迷,mamicode.com
首页 > 数据库 > 详细

MS Sql事务

时间:2016-03-02 09:30:47      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

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事务

标签:

原文地址:http://www.cnblogs.com/shouce/p/5233522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!