Create trigger tri_update 
on employees 
for update 
As 
declare @旧编号 varchar(6),@新编号 varchar(6) 
select @旧编号=deleted.编号,@新编号=inserted.编号 
from deleted,inserted 
where deleted.编号=inserted.编号 
print '准备级联更新employees表中相关编号记录的员工编号...' 
update Status set 员工编号=@新编号 where 员工编号=@旧编号 
print '已经级联更新employees表中的原编号为'+@旧编号 
test

解决方案 »

  1.   

    创表时定义的是char(6),
    employees数据改变但status数据不变,是不是我哪里写错了或者不完善?
    帮看看,谢谢!
      

  2.   


    Create trigger tri_update 
    on employees 
    for update 
    As 
    declare @旧编号 char(6),@新编号 char(6) select @旧编号=deleted.编号from deletedselect @新编号=inserted.编号 from inserted print '准备级联更新employees表中相关编号记录的员工编号...' update Status set 员工编号=@新编号 where 员工编号=@旧编号 print '已经级联更新employees表中的原编号为'+@旧编号 
      

  3.   


    Create trigger tri_update 
    on employees 
    for update,delete,insert
    As 
    declare @旧编号 varchar(60),@新编号 varchar(60) 
    select @旧编号=deleted.编号,@新编号=inserted.编号 
    from deleted,inserted 
    where deleted.编号=inserted.编号 
    print '准备级联更新employees表中相关编号记录的员工编号...' 
    update Status set 员工编号=@新编号 where 员工编号=@旧编号 
    print '已经级联更新employees表中的原编号为'+@旧编号