小编use*_*463的帖子

tSQLt Private_RunTest中还有一个ROLLBACK ERROR

每当我使用ExpectException时,我收到以下错误:(还有一个ROLLBACK错误 - >当前事务无法提交,无法回滚到保存点.回滚整个事务.{Private_RunTest,140})

看来,由于RAISERROR,MSSQL已经执行了ROLLBACK,因此tSQLt正在尝试ROLLBACK.我裹着Private_RunTest下面的SELECT和SET语句与以下IF语句和它似乎解决问题.

IF ISNULL(@ExpectException,0) <> 1 
  BEGIN
    SELECT @Msg = COALESCE(@Msg, '') + ' (There was also a ROLLBACK ERROR --> ' + 
                  COALESCE(ERROR_MESSAGE(), '') + '{' + 
                  COALESCE(ERROR_PROCEDURE(), '') + ',' + 
                  COALESCE(CAST(ERROR_LINE() AS NVARCHAR), '') + '})';
    SET @Result = 'Error';
  END
Run Code Online (Sandbox Code Playgroud)

这真的是一个错误和/或一个适当的修复?

sql-server tsqlt

2
推荐指数
1
解决办法
649
查看次数

标签 统计

sql-server ×1

tsqlt ×1