sql 2000创建触发器
下面代码有问题,通不过语法检查,语法忘了
在插入或更新时触发不能这么写?after insert or update?CREATE    trigger timer_gatherid
on tb_Content
after insert or update
as记得好像有这么个说法,update也是先delete再insert,不知道对不对另外如何获得判断哪是insert 的数据,哪是update的数据?

解决方案 »

  1.   

    after insert or update?不能这么写
      

  2.   


    --update就是delete加insert
    CREATE trigger timer_gatherid
    on tb_Content
    after insert,update
    as
    begin
       select * from deleted--删掉的旧值
       select * from inserted--增加的新值
    end
      

  3.   

    after insert or update 出现低级错误
      

  4.   

    CREATE trigger timer_gatherid
    on tb_Content
    after insert ,update---也可以用 for insert,update
    as
      

  5.   

    CREATE trigger timer_gatherid
    on tb_Content
    after insert ,update
    as
    触发器中两个专用表inserted,deleted 
    如果是更新,inserted表中保存的是更新后的数据,deleted表中保存的是旧的数据
    如果是插入,插入的数据保存在inserted表中,deleted无数据
    如果是删除则相反,inserted表中无数据,删除的记录保存睚deleted中
      

  6.   

    after insert ,update
    保持队形
      

  7.   

    CREATE trigger timer_gatherid
    on tb_Content
    after insert,update
    as记得好像有这么个说法,update也是先delete再insert,不知道对不对不对另外如何获得判断哪是insert 的数据,哪是update的数据?
     
    if not exists ( select 1 from deleted) and exists ( select 1 from inserted)   -- insert操作
    begin
       ... 
     endif exists ( select 1 from deleted) and exists ( select 1 from inserted)   -- update操作
    begin
       ... 
     end