我在一个表A上定义了一个after update,insert的触发器,根据新插入或修改的数据重新计算该记录的销售额(其中销售额也是这条记录的一个字段)。
问题:after触发器发生在update,insert语句之后,如果update,insert语句已经执行了,但触发器的内容还没执行完就停电了,这时新插入或修改的数据会被保存到表里吗?
问题2:如果触发器的事务执行了rollback操作,表A的数据会被修改吗?

解决方案 »

  1.   

    1.触发器中断电,表A的数据将维持修改之前的数据;
    2.如果触发器的事务执行了rollback操作,表A的数据[不]会被修改!
      

  2.   


    不会保存.数据保持在update,insert语句执行前的状态
    不会被修改。
      

  3.   

    这样理解:
      触发器和引起触发器触发的语句位于同一个事务中,所以不管发生什么情况,触发器和引起触发器触发的语句具有原子性所以
    1、停电的情况,下次开机后会执行undo操作,这样都需要回滚
    2、触发器中rollback操作,会回滚触发器和外面的语句