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;
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;
解决方案 »
- 分享一段原创代码。
- Oracle的几个概念:数据库名,全局数据库名,SID,实例,命名空间,schema
- 求助,什么是delta replication?
- 数据库的“数值类型”数据的存储是使用BCD码吗?
- 刚入门PL/SQL,两个关于trigger的问题,求一个详细的解释
- Oracle中有没有SqlServer的时间戳类型?如何指定对某一行加某一个种类锁?
- 美女提问,请回答!50分送第一个解决问题的人。把sqlserver的表导出到oracle中,发现这些表不可用,为什么?
- ORA-00942: 表或视图不存在
- 如何向BLOB类型的数据项中插入图片
- 如何实现以下功能?
- 求SQL语句,高手请进`````
- 请问SQLCODE ,100代表什么错误?
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
触发器就可以不用重写了,只要修改表就行了
有什么办法内????