begin declare x int(11); declare r int(11); set r= (select Rule from qn_huiyuan_grade g where g.MId=NEW.MId and g.mpOrgId=NEW.mpOrgId limit 1); if r=1 then set x = (select ID from qn_huiyuan_grade g where g.BeginValue<=NEW.VipTotalBalance and g.EndValue>=NEW.VipTotalBalance and NEW.MId=g.MId and NEW.mpOrgId=g.mpOrgId limit 1); elseif r=0 then set x = (select ID from qn_huiyuan_grade g where g.BeginValue<=NEW.VipTotalScore and g.EndValue>=NEW.VipTotalScore and NEW.MId=g.MId and NEW.mpOrgId=g.mpOrgId limit 1); END IF; set NEW.VipGrade=x; end