一个存储过程要执行多条SQL语句,如果程序执行出错为了能够回滚是不是要如下写法?
BEGIN TRANSACTION
EXEC SQL语句1
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLEREXEC SQL语句2
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLEREXEC SQL语句3
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLER.....
EXEC SQL语句N
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLER
COMMIT TRANSACTIONERROR_HANDLER:
IF @@TRANCOUNT != 0 ROLLBACK TRANSACTION
RETURN @Error有没有简单的写法不要写那么多的 SET @Error = @@ERROR IF @Error != 0 GOTO ERROR_HANDLER
BEGIN TRANSACTION
EXEC SQL语句1
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLEREXEC SQL语句2
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLEREXEC SQL语句3
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLER.....
EXEC SQL语句N
SET @Error = @@ERROR
IF @Error != 0 GOTO ERROR_HANDLER
COMMIT TRANSACTIONERROR_HANDLER:
IF @@TRANCOUNT != 0 ROLLBACK TRANSACTION
RETURN @Error有没有简单的写法不要写那么多的 SET @Error = @@ERROR IF @Error != 0 GOTO ERROR_HANDLER
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货