MSSQL 事务方法中常用关键字简介


一、begin tran

事务开始时,所使用关键字,标记一个事务的开始点,如后续回滚事务,那么db服务器将会放弃事务开始点后续的所有sql语句执行内容。

begin tran 
或
begin tran 事务名称


二、commit tran

提交事务,使数据修改保存只数据库中,将数据的修改完全写入至数据库中。


三、rollback tran

回滚事务至开始点或回滚至事务保存点


四、save tran

创建一个事务保存点,使rollback 只可回滚至save tran点


例:
举例事务的用法


BEGIN TRAN tran_start    --开始事务

DECLARE @err int;
SET @err = 0;
    BEGIN TRY 
        UPDATE tableA SET updateDate = getDate() WHERE Name = '猫猫小屋';
        SET @err = @err + @@ERROR;
        --如果更新出错,@err变量会加1
        --SET @err = 1;
        UPDATE tableA SET updateDate =getdate() WHERE Name = 'maomao365.com';
        SET @err = @err + @@ERROR;
	--如果更新出错,@err变量会加1
    END TRY

BEGIN CATCH
    ---上面代码发生严重错误,则会采用下面的catch捕捉错误信息
    PRINT '出现异常,错误编号:' + convert(varchar,error_number()) + ',错误消息:' + error_message()
    SET @err = @err + 1
END CATCH

IF(@err > 0)
    BEGIN
        --执行出错,回滚事务
        ROLLBACK TRAN;
        PRINT '更新最后修改时间失败!';
    END
ELSE
    BEGIN
        --没有异常,提交事务
        COMMIT TRAN;
        PRINT '更新成功!';
    END