use ys
go
create trigger triggername
on mlf
after update,delete
as
update ds.dbo.cta set ta003='N' from ds.dbo.cta a where exists(select 1 from deleted where lf002=a.ta002)

解决方案 »

  1.   

    呵呵.全要更新,不是太好,会有多余的重复:
    use ys
    go
    create trigger triggername
    on mlf
    after update,delete
    as
    update ds.dbo.cta set ta003='N' from ds.dbo.cta a where exists(select 1 from mlf where lf002=a.ta002 and lf003='')
      

  2.   

    最好是这样:
    use ys
    go
    create trigger triggername1
    on mlf
    after delete
    as
    update ds.dbo.cta set ta003='N' from ds.dbo.cta a where exists(select 1 from deleted where lf002=a.ta002)
    go
    create trigger triggername1
    on mlf
    after update
    as
    update ds.dbo.cta set ta003='N' from ds.dbo.cta a where exists(select 1 from inserted where lf002=a.ta002 and lf003='')
      

  3.   

    我已经试过qianjin036a在3楼的方法,可以通过,但我想再问两个小问题:
    1、3楼的方法是将更新与删除时的触发分开写的,我使用时系统会自动拆成两个触发,所以触发名称是不允许相同的;
    2、我没有试过2楼的方法,不知道所说的重复是什么意思?
    3、触发器能不能跨服务器使用?
      

  4.   

    4、select 1 from mlf 与select 1 from deleted 是什么意思?为什么是select 1  ?
    5、我记得from deleted好像是删除记录的临时信息,怎么无法单独在查询分析器里使用select 1 from deleted语句?