我在 sql server 数据库中有一个触发器,行为非常奇怪,这些是奇怪的指令:
...
EXEC [ope].[spMissionDepartment] @AircraftId = @vnAircraftId
RAISERROR('test error', 16, 1)
END TRY
BEGIN CATCH
SELECT @ErrorMessage = ERROR_MESSAGE()
ROLLBACK TRANSACTION
RAISERROR(@ErrorMessage, 16, 1) -- strange line
END CATCH
奇怪的行为是这样的:
如果我删除奇怪的行而不是在网页中收到错误
超时。在操作完成或服务器没有响应之前的超时时间已过。
否则,如果我不删除奇怪的行,我会收到错误
测试错误
没有其他触发器,所以exec应该是最后执行的语句,我怎么可能只收到一个 Timeout 而没有Raiserror?