declare @id varchar(10)---类型你自己改吧
declare @name varchar(10)
declare @flag int
declare @oid varchar(10)
declare @oname varchar(10)
declare @oflag int 
--我只是写个大概,具体的你自己修改吧
--若是多条记录还的加游标
select @id =id ,@name = name ,@flag = flag
  from inserted
select @oid = id ,@oname = name ,@oflag= flag
  from deletedif update(id)
begin 
  update 表2 set id =@id where id = @oid
  update 表3 set id =@id where id = @oid
  update 表4 set id =@id where id = @oid
end  
if update(name)
begin 
  update 表2 set name =@name where name = @oname
  update 表3 set name =@name where name = @oname
  update 表4 set name =@name where name = @oname
end  
if @flag=1 and @oflag=0
begin
  delete 表2 where id =@oid
  delete 表3 where id =@oid
  delete 表4 where id =@oid
end

解决方案 »

  1.   

    Create trgger trggername on 表1 
    for Update
    as
     begin 
       if Update(id)
        begin
          update a set a.ID=c.ID
          from 表2 as a inner join deleted as b
             on a.id=b.id inner join inserted as c
             on a.id=c.id
           ...............
        end
       if Update(name)
      .........
      .........
     end
      

  2.   

    Create trgger trggername on 表1 
    for Update
    as
     begin 
       if Update(id)
        begin
          update a set a.ID=c.ID
          from 表2 as a inner join deleted as b
             on a.id=b.id inner join inserted as c
             on a.id=c.id
           update a set a.ID=c.ID
          from 表3 as a inner join deleted as b
             on a.id=b.id inner join inserted as c
             on a.id=c.id
            update a set a.ID=c.ID
          from 表4 as a inner join deleted as b
             on a.id=b.id inner join inserted as c
             on a.id=c.id
           end
       if Update(name)
      .........
      .........
     end
      

  3.   

    当 表1.flag列的值由'1'变为'0'时,同时删除 “表2”,“表3”,“表4”中对应的行
    当“表2”,“表3”,“表4”中对应的行为多行的时候应该怎么去处理
      

  4.   

    update a set a.ID=c.ID
          from 表2 as a inner join deleted as b
             on a.id=b.id inner join inserted as c
             on a.id=c.id这是不是有问题啊?
    deleted里的id和inserted里的id不一样的吧?