在SQL Server中,我常常会看到有些前辈这样写: ) ROLLBACK TRANSACTION T else COMMIT TRANSACTION T 一开始,我看见别人这么写,我就想当然的以为它只是个计数器,每当检测到一处错误时,@@error的值+1,不过就因为这个理所当然,所以杯具了... 实际上,它并不是一个计数器,它是一个动态的值,动态的标识最后一条SQL命令执行的结果,如果成功则为0,不成功则标识错误码.所以,像上面这种写法是不妥的,举个例子,如下: SET NOCOUNT O