谢敦华

 

使用触发器记录操作

 

    

创建表:create table student(sid int primary key,sname varchar(20))
创建日志文件:create table  log_student(logid int primary key,content varchar(20),updatedate date)
创建序列号:create sequence seq
  start with 1
  increment by 1
  minvalue 1
  maxvalue 10000000
  nocycle
  cache 20;
创建触发器:create or replace trigger tr_test
  before insert or update or delete on student 
declare
  content varchar(20);
begin
  if inserting then
    content:='新增';
  elsif updating then
     content:='修改';
  else
     content:='删除';
   end if;
   insert into log_student values(seq.nextval,content,sysdate);
end tr_test;

 


操作时间限制:create or replace trigger td_student
  before insert or update or delete on student 

declare
  content varchar(20);
begin
  if(to_char(sysdate,'DY')in('星期六','星期日'))or(to_char(sysdate,'HH24')not betwent '06' and '18')
  then
  RAISE_APPLICATION_ERROR(-20500,'非法时间修改表错误');
  end if;
end td_student;

 

 

操作时间限制:

create or replace trigger td_student
  before insert or update or delete on student 

begin
  if(to_char(sysdate,'DY')not in('星期一','星期五'))
  then
  RAISE_APPLICATION_ERROR(-20500,'休息时间,修改表错误');
  end if;
end td_student;

posted on 2010-12-09 11:38  MichaelXDH  阅读(191)  评论(0)    收藏  举报

导航