+++++++++++++++table++++++++++++++++++
ID         NAME         LEVEL         LIMIT
1          Mike         B             1000
2          Jack         A             3000
3          Lucy         C             500这假设是一个银行卡的限定额度,Level A代表限定透支3000,B 1000,C 500。
执行update table set limit = 1000 where id = '3';
Lucy的limit就改为了1000,如何让表自动的更改level的value自动提升为B呢。
是在update的时候加入条件还是在create table的时候加入触发?Thanks

解决方案 »

  1.   


    update table set limit = 1000 and level='B' where id = '3'
      

  2.   

    谢谢楼上,有没有自动更改的方法呢,如果需要更改的不仅仅是level,还有其他一系列的信息,全部手动改的话……
      

  3.   


    CREATE TRIGGER T_table ON dbo.table_t
    FOR UPDATE
    AS
    if update(limit)
    begin
    update table_t
    set LEVEL = case when limit >= 3000 then 'A' WHEN limit >=1000 then 'B' ELSE 'A' end
    from inserted i,deleted d
    where i.id = d.id
    and i.limit  <> d.limit 
    and i.id = table_t.id
    end