创建学生表:Create table student(sid INT primary key,sname varchar(20))
创建日志表:Create table log_sutdent(LOGID INT primary key,CONTENT VARCHAR2(20),UPDATEDATA DATE)
创建序列:Create Sequence seq
start with 1
increment by 1
minvalue 1
maxvalue 1000000
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;
对表的操作
update student set sname='李四' where sid=2
insert into student values(1,'小咱')
delete from student where sid=1
select log_sutdent
触发器:只允许在周一或周五操作Student表
create or replace trigger tr_commit
before insert or update or delete on student
declare
begin
if(TO_CHAR(SYSDATE,'DY') not IN ('MON','FRI')) then
RAISE_APPLICATION_ERROR(-20500,'非法时间修改表错误');
end if;
end tr_commit;