一 需求
当给员工涨工资,自动备份新的工作到备份表中。
二 代码
--触发器应用场景4:数据库的备份和同步
@H_301_25@--当给员工涨工资,自动备份新的工资到备份表中
@H_301_25@--创建备份表,
@H_301_25@/*
@H_301_25@create table emp_back as select * from emp;
@H_301_25@*/
@H_301_25@@H_301_25@
create or replace trigger sync_salay
@H_301_25@after update
@H_301_25@on emp
@H_301_25@for each row
@H_301_25@begin
@H_301_25@--当主表更新后,自动更新备份表
@H_301_25@update EMP_BACK set sal=:new.sal where empno =:new.empno;
@H_301_25@end;
@H_301_25@
三 验证
sql>select sal from emp where empno=7839;
@H_301_25@@H_301_25@
SAL
@H_301_25@----------
@H_301_25@12101
@H_301_25@@H_301_25@
sql>select sal from emp_back where empno=7839;
@H_301_25@@H_301_25@
SAL
@H_301_25@----------
@H_301_25@12101
@H_301_25@sql> update emp set sal=sal+10where empno=7839;
@H_301_25@@H_301_25@
已更新1行。
@H_301_25@sql>select sal from emp where empno=7839;
@H_301_25@12111
@H_301_25@@H_301_25@
sql>select sal from emp_back where empno=7839;
@H_301_25@@H_301_25@
SAL
@H_301_25@----------
@H_301_25@12111
@H_301_25@