insert into gr(id,name,grade)
( select id,name,decode(sign(score-89),1,'A',
                  decode(sign(score-79),1,'B',
                    decode(sign(score-69),1,'C',
                     decode(sign(score-59),1,'D',E))))
  from sc
  where score is not null
);

解决方案 »

  1.   

    insert into gr(id,name,grade)
    ( select id,name,decode(sign(score-89),1,'A',
                      decode(sign(score-79),1,'B',
                        decode(sign(score-69),1,'C',
                         decode(sign(score-59),1,'D','E'))))
      from sc
      where score is not null
    );
      

  2.   

    update gr set grate = (select decode(gr.grade,100,'A',decode(floor(gr.grade/10),9,'A',8,'B',7,'C',6,'D','E')) from sc where sc.id=gr.id and sc.score is not null);