Welcome 微信登录

首页 / 数据库 / MySQL / Oracle触发器查询统计本表

Oracle触发器查询统计本表这次由于项目需要,实际动手演练了一把,达到了需要的效果,大致是插入数据后,统计表内和当前插入数据时间相同的个数。采用行级触发器+语句级触发器。--包  CREATE OR REPLACE PACKAGE UPDATECASE AS
 TYPE T_DATE IS TABLE OF date INDEX BY BINARY_INTEGER;
 V_UPDATETIME T_DATE;
 V_ROW  BINARY_INTEGER := 0;
 end;--行级触发器 create or replace trigger Tri_student_row
  after insert or update or delete
 on student
 FOR EACH ROW
BEGIN
  updatecase.V_ROW  :=  updatecase.V_ROW + 1;
  if DELETING  then
   updatecase.V_UPDATETIME(updatecase.V_ROW) := :OLD.CREATETIME;
  else
  updatecase.V_UPDATETIME(updatecase.V_ROW) := :NEW.CREATETIME;
  end if;
END;--语句级触发器create or replace trigger Tri_student
  after insert or update or delete on student
declare
  studentcount number(38,5);
BEGIN
  FOR V_LOOP IN 1 .. UPDATECASE.V_ROW LOOP
    select count(*)
      into studentcount from student t
   where t.createtime = UPDATECASE.V_UPDATETIME(V_LOOP);
   insert into personcount(comedate,count)values(UPDATECASE.V_UPDATETIME(V_LOOP),studentcount);
  end loop;
  UPDATECASE.V_ROW := 0;
END;Oracle创建自动增长列Oracle中变异表处理办法相关资讯      Oracle触发器 
  • Oracle数据库中的触发器  (03/11/2015 10:12:29)
  • Oracle利用触发器实现自增列  (02/10/2015 11:27:09)
  • Oracle中的System Triggers(DDL触  (02/25/2014 19:33:55)
  • Oracle中的触发器  (02/14/2015 11:22:03)
  • Oracle触发器问题解决一例  (11/11/2014 17:36:10)
  • Oracle 触发器更新基表不同记录所  (12/31/2013 10:01:29)
本文评论 查看全部评论 (0)
表情: 姓名: 字数