存储过程P使用了
begin try
begin transaction
insert into A(...)values (..) --A表有一个AFTER INSERT 的触发器,主要是A表插入一条数据后更新B表。但是问题来了:更新B表的时候发生异常了,这个异常是在触发器里面的,存储过程P能捕获到这个异常跳到cathc里面去吗?如果不会跳到里面去的话会有什么结果发生呢?插入A表后面还有执行的代码,我的成功返回00失败返回01,当触发器发生异常的时候我的客户端收不到任何东西,这个是为什么呢?我要不要在触发器里面也 加上异常事务处理呢?
commit transaction
end try
begin catch
rollback transaction
end catch
SQL Server存储过程,触发器异常异常事务
begin try
begin transaction
insert into A(...)values (..) --A表有一个AFTER INSERT 的触发器,主要是A表插入一条数据后更新B表。但是问题来了:更新B表的时候发生异常了,这个异常是在触发器里面的,存储过程P能捕获到这个异常跳到cathc里面去吗?如果不会跳到里面去的话会有什么结果发生呢?插入A表后面还有执行的代码,我的成功返回00失败返回01,当触发器发生异常的时候我的客户端收不到任何东西,这个是为什么呢?我要不要在触发器里面也 加上异常事务处理呢?
commit transaction
end try
begin catch
rollback transaction
end catch
SQL Server存储过程,触发器异常异常事务
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货