难!!!触发器中能回滚部分事务吗?
我在A表定义了一个Insert触发器,要求如下: 
 如果有数据插入A表,解析插入的纪录,然后依次更新B表、C表、D表(总之逻辑比较复杂) 
 我定义了一个事务,如果更新B表、C表、D表时有一处出错,就在Catch   语句中回滚事务   
 不幸的是:插入A表的那条纪录也被   Rollback了,而我需要保留这条数据!   
 请高人指点!谢谢先   
 PS:我调查过,触发器为一隐式事务,那么说如果我要保留A表插入的数据就不能使用   Rollback了吗?不使用的话我又如何保证B、C、D表的同时提交?
------解决方案--------------------Begin Tran 
   Insert Into A Select ...... 
 Save Tran Save_Point 
   Update B ... 
   Update C ... 
   Update D ... 
 if @@Error <> 0     
    Begin 
     RollBack Tran Save_Point  
      Print  '更新失败 ' 
    End 
 Else 
 Commit Tran