create or replace trigger tb_beforeinsert before insert on emp for each row 
begin
  :new.grade:=case 
    when :new.score<60 then 0
    when :new.score<70 then 1
    when :new.score<80 then 2
    when :new.score<90 then 3
    when :new.score<101 then 4
  end;  
end;

解决方案 »

  1.   

    create or replace trigger tb_beforeinsert before insert on emp for each row 
    begin
      :new.grade:=case 
        when :new.score<60 then 0
        when :new.score<70 then 1
        when :new.score<80 then 2
        when :new.score<90 then 3
        when :new.score<101 then 4
      end;  
    end;好是好,不过能不能通过表进行判断
    要是分数和绩点对应变化了
    比如改为
    分数           绩点
    0--59          0
    60--69         2
    70--79         3
    80--89         4
    90--100        5
    触发器就可以不用重写了,只要修改表就行了
    有什么办法内????