两个表a,b
a.us_no字段的数据是从b.us_no字段传过来的,要求b.us_no更新时a.us_no也更新
这个用触发器怎么写呢?

解决方案 »

  1.   

    create trigger mytrigger on b
    for insert,delete as
    declare @new_us_no int,
            @old_us_no int
      select @new_us_no = us_no from inserted
      select @old_us_no = us_no from deleted
      update a set us_no = @new_us_no
       where us_no = @old_us_no
      

  2.   

    create trigger mytrigger on b
    for update as
    declare @new_us_no int,
            @old_us_no int
      select @new_us_no = us_no from inserted
      select @old_us_no = us_no from deleted
      update a set us_no = @new_us_no
       where us_no = @old_us_no
      

  3.   

    create trigger mytrigger on b
    for insert,delete as
    declare @new_us_no int,
            @old_us_no int
      select @new_us_no = us_no from inserted
      select @old_us_no = us_no from deleted
      insert a(us_no) valus( @new_us_no) 
      delete a where us_no = @old_us_no if @@error<>0
    begin
             rollback
              return  --插入出错,回滚事务,返回错误代码
    end