When we want to update the info of some important tables,we can use the trigger,it can be triggered after we use some DML for some tables.here is the example of it:
create or replace trigger UpdateMajorStats
after insert or delete or update on students
declare
cursor c_Statistics is
select major,count(*) total_students,sum(current_credits) total_credits
from students
group by major;
begin
delete from major_stats;
for v_StatsRecord in c_Statistics loop
insert into major_stats(major,total_credits,total_students)
values(v_StatsRecord.major,v_StatsRecord.total_credits,v_StatsRecord.total_students);
end loop;
end UpdateMajorStats;
then test it:
1.select * from major_stats;
Computer Science 22 3
Economics 15 2
History 12 3
Music 11 2
Nutrition 16 2
2.insert into students(id,first_name,last_name,major,current_credits)
values(student_sequence.nextval,'tang','lei','CS',10)
3.select * from major_stats;
CS 10 1
Computer Science 22 3
Economics 15 2
History 12 3
Music 11 2
Nutrition 16 2
so can got a conclusion,the first row updated in this table by trigger.