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