create trigger tr_XXX on table1 on update
as
begin
insert into table1 values('ccc','xxaa')
end
也就是当table1的数据修改时,就在table1里面再插入一条数据。可是修改执行后,不触发插入的命令啊,也不报错求教!
PS: create trigger tr_XXX on table1 on update这里的on和after,有什么区别呢?

解决方案 »

  1.   

    for update也不行,一样不执行有没有大哥能给解释一下,这个for,on,after都什么区别?jf的没分分拱手送给帮解决问题的大哥们。。
      

  2.   

    我用了for update了,真的不执行
      

  3.   

    create trigger tr_XXX on table1 after update
    as
    begin
    insert into table1 values('ccc','xxaa')
    end
      

  4.   

    用for是可以的没有用on这种说法吧,看语法里面只有FOR | AFTER | INSTEAD OF ,没有ON
      

  5.   

    after我也试过了。真的不执行
      

  6.   

    for可以? 我再试试。应该不会错的啊
      

  7.   

    晕。我又新建了一个,就可以了奇怪。确实是for有没有大哥给讲一下 FOR | AFTER | INSTEAD OF 的区别?完了就结贴了!
      

  8.   

    for 是UPDATE执行之前执行,after是你的update执行 后执行
    看了你的语句,有可能是这个原因
    你知道,update实现过程是这样的,数据库其实是执行了两个,就是现delete这行,然后在insert
    所以会不会你在内部insert table1造成死循环了呢,你把insert改成select 试试