oracle 触发器。当表中期中成绩字段或期末成绩字段任一个改变时 总成绩随之改变。

已有表examscore 表中总成绩应该等于期中成绩与期末成绩之和。
现在希望写一个触发器 在期中成绩或期末成绩改变时 总成绩随之改变
————————————————————————————————————
表描述如下:
[img]http://dl.iteye.com/upload/attachment/303143/c86f10d5-aef5-3773-ab77-09d093c4dff9.jpg[/img]
——————————————————————————————————————
表中数据:

[img]http://dl.iteye.com/upload/attachment/303145/389424b0-3e85-3aa5-99b5-f7c15d622429.jpg[/img]
——————————————————————————————————————
自己乱写的代码,出错:
[code="java"]DECLARE PRAGMA AUTONOMOUS_TRANSACTIO;
create or replace trigger SumScoreTri
after update on examscore

for each row

declare
newMid INT;
newFinal INT;
-- local variables here

begin
select :new.期中成绩 into newMid from examscore;
select :new.期末成绩 into newFinal from examscore;
update examscore set 总成绩=newFinal+newMid;
end SumScoreTri;[/code]
——————————————————————————————————
望指教。

触发器的性能总是差一点的

或许可以考虑视图呢,总成绩字段通过计算得出来