数据库题, while的使用。 如果081101课程平均成绩低于45分,则将成绩提高1%,然后判断该课程最高成绩是否高于70分,如果是则结束循环;否则返回循环开始处,再次判断循环条件,并进行相应处理;直至循环条件满足为止结束循环。

解决方案 »

  1.   

        create table tt
         (
         name char(10),
         courseid char(10),
         score int
         )
         
         insert into tt values('1','1001',67)
         insert into tt values('2','1002',27)
         insert into tt values('3','1002',67)
         insert into tt values('4','1003',67)
         insert into tt values('5','1001',43)
         insert into tt values('6','1001',40)
         insert into tt values('7','1002',67)
         insert into tt values('8','1001',29)
         insert into tt values('9','1003',33)
         insert into tt values('10','1001',24)
    go
    while (select avg(score) from tt where courseid='1001')<45
    begin
    update tt set score=score*1.01 where courseid='1001'
    if(select max(score) from tt where courseid='1001')>70
    break
    else
    continue
    end
      

  2.   

    quite right, I agree the above method