Oracle 创建触发器

前端之家收集整理的这篇文章主要介绍了Oracle 创建触发器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. createorreplacetriggerDATA_SYNC_@TABLE@
  2. beforeinsertorupdateordeleteon@TABLE@
  3. REFERENCINGOLDASold_empNEWASnew_emp
  4. foreachrow
  5. begin
  6. --通过应用程序修改时,F_SYNC_UPDATE=nullF_SYNC_UPDATE=0,此时不需要更新F_SYNC_DATE时间戳,也不需要记录删除记录
  7. if(:new_emp.F_SYNC_UPDATEisnull)or(:new_emp.F_SYNC_UPDATE=0)then
  8. --插入和更新操作,更新时间戳F_SYNC_DATE=systimestampF_SYNC_UPDATE=null
  9. ifINSERTINGorUPDATINGthen
  10. selectsystimestamp,null
  11. into:new_emp.F_SYNC_DATE,:new_emp.F_SYNC_UPDATE
  12. fromdual;
  13. endif;
  14. ifINSERTINGthen
  15. --把新增加的记录插入到操作记录表
  16. insertintoDATA_SYNC_B_OPERATOR
  17. (t_name,o_type,o_date,VKEYS)
  18. values
  19. ('@TABLE@',1,systimestamp,@INSERTVAL@);
  20. endif;
  21. ifDELETINGthen
  22. --把删除记录的主键添加到操作记录表
  23. insertintoDATA_SYNC_B_OPERATOR
  24. (t_name,3,@UPDATEVAL@);
  25. endif;
  26. endif;
  27. endDATA_SYNC_@TABLE@;

猜你在找的Oracle相关文章