有employ ,A,B,C,D 五个表 employ表中有id字段 A,B,C,D为employ表外键 若删除employ表中id    A,B,C,D中也删除相对应数据

解决方案 »

  1.   

    1-建外键的时候指定on delete cascade就可以了
    2-如果一定要用触发器
    create trigger trgtest on employee 
    for delete 
    as
    begin
    delete a join deleted b on a.id=b.id
    ......
    end
      

  2.   

    create trigger tr_name
    on employ 
    for
    as
    begin
        delete from a as t
        where exists(select 1 from a where t.a = a)
     
        delete from b as t
        where exists(select 1 from b where t.b = b)
     ...end
    go
      

  3.   

    create trigger T on employ
    for delete
    as 
      delete A from A ,deleted d on a.id=d.id
      delete B from B ,deleted d on b.id=d.id
      delete C from C ,deleted d on c.id=d.id
      delete D from D ,deleted d on d.id=d.id
      

  4.   

    create trigger test
    on employ
    after delete
    as
    declare @id int
    select @id=id from deleted
    delete from a where id=@id
    delete from b where id=@id
    delete from c where id=@id
    delete from d where id=@id
    go