-- 创建备份表
create table emp_his as (select * from emp where 1=2);
<pre name="code" class="sql">-- 创建触发器
create or replace trigger tr_emp_del
-- 对scott.emp表在delete操作之前
before delete on scott.emp
-- 对每一行进行触发动作
for each row
-- 触发的具体动作
DECLARE
BEGIN
INSERT INTO emp_his
(deptno, empno, ename, job, mgr, sal, comm, hiredate)
VALUES
(:old.deptno,
:old.empno,
:old.ename,
:old.job,
:old.mgr,
:old.sal,
:old.comm,
:old.hiredate);
END;
/
测试
delete from emp where empno = 7369;
select * from emp_his;PS:创建触发器那一段代码,在sql 窗口无法正常执行,会报错,必须放到命令窗口去方可
本文介绍如何在SQL中创建和使用触发器,通过一个具体的简单触发器示例,阐述触发器的工作原理及其在数据库操作中的应用。

4220

被折叠的 条评论
为什么被折叠?



