我有这样一段存储过程:
BEGIN TRANSACTION--做一些操作IF( @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
return 0
ENDCOMMIT TRANSACTION
return 1
请问,当另一个存储,比如pro_2过程调用这段过程时,如果遇到了错误,而导致roll back,并return 0了,在pro_2中,@@error是0还是什么值?谁能告诉我,谢谢!
BEGIN TRANSACTION--做一些操作IF( @@ERROR <> 0)
BEGIN
ROLLBACK TRANSACTION
return 0
ENDCOMMIT TRANSACTION
return 1
请问,当另一个存储,比如pro_2过程调用这段过程时,如果遇到了错误,而导致roll back,并return 0了,在pro_2中,@@error是0还是什么值?谁能告诉我,谢谢!
BEGIN
ROLLBACK TRANSACTION
return @@ERROR
END 你这样试试
所以你的意思是,rollback transaction算是一条语句? 因为这条语句执行ok,所以之前就算@@error不是0,在执行这条后,就会变成0. 可以这样理解么?
if @@error<>0
执行后,@@error就变回0了