根据现在的需求,已及我对数据库很初步的使用了解现在需要做一个触发器,那边我传入一个人的编号,进行更新,删除,修改的操作,这边再跟据这个编号针对别的子表操作,这个触发器怎么做? 
主要就是这里没有再次传进那个编号了,所以能不能取出针对修改的行,再根据这行的ID去更新他的子表??
看教程上写一个触发器只能用一个表上,要是我想要的操作很多表应该怎么办呢? 希望能为小弟举个例子来说明,谢谢大家,如果分不够再开帖送分,谢谢

解决方案 »

  1.   

    create trigger tr_a on A表
    for update,insert,delete
    as
    --禁用表B的触发器
    alter table 表B DISABLE TRIGGER 表B的触发器
    if not exists (select * from deleted) --插入
    insert 表B (字段) select 字段 from inserted
    else if not exists (select * from inserted)--删除
    delete 表B where id in (select id from deleted)
    else--更新
    update a set a.字段=i.字段 from 表B as a,inserted as i where a.id=i.id
    alter table 表B  ENABLE TRIGGER 表B的触发器
      

  2.   

    create trigger tr_update
    on 那边的表名
    for update
    asupdate 这边的表名1
    set ...
    from 这边的表名1 a,inserted i
    where a.编号字段名=i.编号字段名
    and 其它条件update 这边的表名2
    set ...
    from 这边的表名2 a,inserted i
    where a.编号字段名=i.编号字段名
    and 其它条件...go--能理解吗?