我在 SQL Server 2008 中遇到了一个小错误(功能)。
我有一个存储过程,我在其中以名称 @tran 开始显式事务
.... 声明 @tran varchar(30) = 'exp_trans';
BEGIN TRAN @tran IF @p_param 为空 ROLLBACK TRAN @tran ....
问题是,当我将 IMPLICIT_TRANSACTIONS 设置为 ON 并调用存储过程时,流程到达回滚部分,我将收到错误
“消息 6401,级别 16,状态 1,第 10 行无法回滚 exp_tran。找不到该名称的事务或保存点。”
这是某种功能,还是实际发生了什么?先感谢您