-设置当员工表EMP表删除记录时,将删除的记录写入员工表删除日志表的触发器。
–创建历史表
create table myemp_his as select * from myemp where 1=2;
–创建删除触发器
create or replace trigger myemp_delete_trig
after delete
on myemp
for each row
begin
insert into myemp_his
values
(:old.empno,:old.ename,:old.job,:old.mgr,
:old.hiredate,:old.sal,:old.comm,:old.deptno,:old.sal2);
end;
–创建更新触发器,更新myemp表中的数据时,需要保存到myemp_his表中两条数据,更新前的数据和更新后的数据
create or replace trigger myemp_update_trig
after update of sal
on myemp
for each row
begin
–更新前的数据
insert into myemp_his
values
(:old.empno,:old.ename,:old.job,:old.mgr,
:old.hiredate,:old.sal,:old.comm,:old.deptno,:old.sal2,'更新前',sysdate);
–更新后的数据
insert into myemp_his
values
(:new.empno,:new.ename,:new.job,:new.mgr,
:new.hiredate,:new.sal,:new.comm,:new.deptno,:new.sal2,'更新后',sysdate);
end;
–更新myemp表中的deptno时,同时更新dept表中的修改时间
CREATE OR REPLACE TRIGGER myemp_deptno_trig
BEFORE UPDATE
of deptno –of后表示哪些列进行触发
ON myemp
for each row
BEGIN
update dept set mdate = sysdate where deptno = :new.deptno;
END;
1.文章《“oracle如何创建触发器“oracle创建触发器删除表数据…》援引自互联网,为网友投稿收集整理,仅供学习和研究使用,内容仅代表作者本人观点,与本网站无关,侵删请点击页脚联系方式。
2.文章《“oracle如何创建触发器“oracle创建触发器删除表数据…》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好