触发器有问题吧update时deleted、Inserted临时表中也有数据的至于不触发触发器,批处理操作时不触发触发器(默认情况下)

解决方案 »

  1.   

    如果楼主想真的想记录的话
    create trigger 触发名 on 表名
    instead of insert,update,delete
    as
       --insert插入
       if not exists(select 1 from deleted)
       begin
              插入
       end   --update更新
       if exists(select 1 from inserted) and exists(select 1 from deleted)
       begin 
             修改
       end   --delete删除
       if not exists(select 1 from inserted)   
       begin
               删除
       end
    go
      

  2.   

    多条语句执行的,只有一条能激发触发器,inserted表和deleted表中也只记录了一条语句的
      

  3.   

    楼主的触发器里有两个insert into Z_Dpt_Store,请确认发执行该触发器的用户对于表Z_Dpt_Store有insert权限,我觉得你说的情况可能不是没有触发触发器,而是因为触发器执行到insert语句时因为权限问题导致触发器执行失败后回滚了。这个情况我三天前刚碰到过。
      

  4.   

    I hope this post helpful.
    http://community.csdn.net/Expert/topic/5146/5146269.xml?temp=.5767481
      

  5.   

    昨晚数据整理后是正常,用户输入也正常。
    今天7:30检查数据是正常(无用户使用)
    但是在开放给用户使用后不久,数据又不正常
    而且数据每次都变相同,
    如:ItemNo = '2202' 数据每次都由 121 变成 127
        ItemNo = '2203' 数据每次都由 0 变成 8急!
      

  6.   

    先把表结构删除后再新建表Dpt_Store
    ==============================
    什么意思?是删除表再新建表吧?
    触发器也删除了,要重建触发器
      

  7.   

    删除数据用truncate table  可以不触发
      

  8.   

    To yesyesyes
    是的。正常操作触发器现在是可以触发的
      

  9.   

    Z_Dpt_Store下没有触发器
    只是一张记录表.
      

  10.   

    delete,update insert 分开写进行测试!
      

  11.   

    后台数据库测试是可以触发的
    就是用户在前台操作时发生。
    Dpt_Store的库存数变化了,但是Z_Dpt_Store没有记录
      

  12.   

    请确认前台程序所用的数据库联接帐户对Z_Dpt_Store表的操作权限.
      

  13.   

    1. truncate tablle, bulk/bcp 操作, 这些不触发触发器, bcp/bulk可以通过相关参数让触发器工作, 但默认是不触发的2. 触发器被disable的情况下, 也是不会触发的. 你用企业管理器编辑触发器, 看看最后一行有否alter trigger .. disable 之类的语句
      

  14.   

    To:zjcxc(邹建)
    昨晚我发了邮件给你([email protected]),把情况说明了一下.
    你看看能不能给你指导一下。
    谢谢!
      

  15.   

    哈哈
    问题原因找到了
    触发器被disable
    多谢各位,多谢!!!