由于初学oracle 还不太懂 上网没有找到类似的问题 希望朋友耐心教导(1)student表中数据的update delete inser 都要在日志表log中监听到
(2)对student表中sno字段写一个存储过程  返回当天的所有操作  (cursor)--创建日志表 log
create table log(
  id number primary key,
  beforName varchar2(20),
  afterName varchar2(20),
  thisDate default syadate,
  oper char check(oper in('update','insert','delete'))
);
--创建学生表student
create table student(
       sno number,
       sname varchar2(20)
);

解决方案 »

  1.   


    create or replace trigger trib_log
      after insert or update or delete on student
      for each row
    declare
      integrity_error exception;
      errno  integer;
      errmsg char(200);
    begin
      if inserting then
        insert into log(afterName) values (:NEW.beforName);
      elsif updating then
        insert into log(afterName) values (:NEW.beforName);
      elsif deleting then
        insert into log(beforName) values (:OLD.beforName);
      end if;
    exception
      when integrity_error then
        raise_application_error(errno, errmsg);
    end;照着改一改就行了