现有会员表(userinfo),会员等级表(userlevel)
会员表中有一会员积分字段(user_tegral)会员等级表有一等级积分字段(mlevel_point)
在update会员表中的user_tegral字段,根据会员登记表中的mlevel_point来重新设置会员表中的会员等级 

解决方案 »

  1.   


    --会员表
    if object_id('userinfo','u') is not null
    drop table userinfo
    go
    create table userinfo(userid int primary key,user_tegral int,level int)
    insert into userinfo select 1,0,0
    go
    --会员等级表
    if object_id('userlevel','u') is not null
    drop table userlevel
    go
    create table userlevel(level int primary key,mlevel_point decimal(10,2))
    insert into userlevel select 0,0
    insert into userlevel select 1,100
    insert into userlevel select 2,200
    insert into userlevel select 3,300
    go--触发器
    create trigger TR_userInfor
    on userinfo for update
    as
    beginupdate a
    set     a.level=b.level
    from    userinfo  a,userlevel b
    where a.userid in(Select userid from inserted) and a.user_tegral>=b.mlevel_point and 
      a.user_tegral<(Select min(mlevel_point) 
      from userlevel where mlevel_point>b.mlevel_point)
    end--测试
    update userinfo
    set user_tegral=100
    where userid=1select * from userinfo