Oracle数据库触发器实现数据的备份和同步

前端之家收集整理的这篇文章主要介绍了Oracle数据库触发器实现数据的备份和同步前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一 需求

当给员工涨工资,自动备份新的工作到备份表中。
代码
  1. --触发器应用场景4数据库的备份和同步@H_301_25@
  2. --当给员工涨工资,自动备份新的工资到备份表中@H_301_25@
  3. --创建备份表,@H_301_25@
  4. /*@H_301_25@
  5. create table emp_back as select * from emp;@H_301_25@
  6. */@H_301_25@
  7. @H_301_25@
  8. create or replace trigger sync_salay@H_301_25@
  9. after update@H_301_25@
  10. on emp@H_301_25@
  11. for each row@H_301_25@
  12. begin@H_301_25@
  13. --当主表更新后,自动更新备份表@H_301_25@
  14. update EMP_BACK set sal=:new.sal where empno =:new.empno;@H_301_25@
  15. end;@H_301_25@
三 验证
  1. sql>select sal from emp where empno=7839;@H_301_25@
  2. @H_301_25@
  3. SAL@H_301_25@
  4. ----------@H_301_25@
  5. 12101@H_301_25@
  6. @H_301_25@
  7. sql>select sal from emp_back where empno=7839;@H_301_25@
  8. @H_301_25@
  9. SAL@H_301_25@
  10. ----------@H_301_25@
  11. 12101@H_301_25@
  12. sql> update emp set sal=sal+10where empno=7839;@H_301_25@
  13. @H_301_25@
  14. 已更新1行。@H_301_25@
  15. sql>select sal from emp where empno=7839;@H_301_25@
  16. 12111@H_301_25@
  17. @H_301_25@
  18. sql>select sal from emp_back where empno=7839;@H_301_25@
  19. @H_301_25@
  20. SAL@H_301_25@
  21. ----------@H_301_25@
  22. 12111@H_301_25@

猜你在找的Oracle相关文章