我在Student表中有一个字段Sno。在Student_log中也有一个字段Sno。我要实现的就是Student表中Sno update了。
Student_log表中相应的记录也随之更新。写了部分SQL 语句如下,不知如何填写中间部分
if exists( select * from sys.triggers where name='update_trigger')
drop trigger update_trigger
go
create trigger update_trigger
on Student
for update
as begin
if update(Sno)
begin
--需要填写的SQL语句,随着Student的跟新Student_log也跟新
end
end

解决方案 »

  1.   

    if exists( select * from sys.triggers where name='update_trigger')
    drop trigger update_trigger
    go
    create trigger update_trigger
    on Student
    for update
    as begin
    if update(Sno)
    begin
    --需要填写的SQL语句,随着Student的跟新Student_log也跟新
      update Student_log 
      set Student_log.Sno=i.Sno 
      from inserted i,deleted d 
      where Student_log.Sno=d.Sno 
    end
    end
      

  2.   

    Sno是不是主键字段?如果是,你需要提供另一个字段,能为一决定一条记录的字段,用于连接表