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@;
总结
以上是编程之家为你收集整理的Oracle 创建触发器全部内容,希望文章能够帮你解决Oracle 创建触发器所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。