怎么实现更新两个属性啊 在一个触发器中create trigger insert_update
on 宿舍迁入迁出
for update
as
update 宿舍
set 剩余容量=剩余容量-1,已用容量=已用容量+1
where 宿舍号 in (select 宿舍号 from inserted)
and 楼号 in (select 宿舍号 from inserted);触发器

解决方案 »

  1.   

    try this,create trigger insert_update
    on 宿舍迁入迁出
    for update
    as
    update a
     set a.剩余容量=a.剩余容量-1,
         a.已用容量=a.已用容量+1
     from 宿舍 a
     inner join inserted b on a.宿舍=b.宿舍 and a.楼号=b.楼号
      

  2.   

    create trigger insert_update
    on 宿舍迁入迁出
    for update
    as
    update 宿舍
    set 剩余容量=剩余容量-1,
        已用容量=已用容量+1
    from 宿舍 t 
    inner join inserted i
            on t.楼号 = i.楼号 
               and t.宿舍号 = i.宿舍号如果在update中要与其他表进行关联,  
    那么应该在from子句中再次指定要更新的表,同时指定别名,  
    这个from中表只是其他关联其他表的作用  
      
    update 更新的表  
    set 列名 = 值  
    from 更新的表 as 别名1  
    inner join 其他表 as 别名2  
            on 关联条件  
    where 过滤条件  
              
    注意:其他表也可以是CTE表达式,可以写比较复杂的语句 
      

  3.   

    create trigger insert_update
    on 宿舍迁入迁出
    for update
    as
    update 宿舍
    set 剩余容量=剩余容量-1,
        已用容量=已用容量+1
    from 宿舍 t 
    inner join inserted i
            on t.楼号 = i.楼号 
               and t.宿舍号 = i.宿舍号还是实现不了呢 怎么办?
      

  4.   


    还是实现不了呢 肿么办? 本人菜鸟啊你的update 宿舍迁入迁出 的语句是怎样的呢?
      

  5.   

    还是实现不了呢 肿么办? 本人菜鸟啊你的update 宿舍迁入迁出 的语句是怎样的呢?你这一问 我发现我想写的是insert触发器 所以写错成update了
     问题 解决了 太感谢你啦~