Oracle创建触发器

create or replace trigger DATA_SYNC_@TABLE@
  before insert or update or delete on @TABLE@
  REFERENCING OLD AS old_emp NEW AS new_emp
  for each row
begin
  --通过应用程序修改时,F_SYNC_UPDATE=null或F_SYNC_UPDATE=0,此时不需要更新F_SYNC_DATE 时间戳,也不需要记录删除记录
  if (:new_emp.F_SYNC_UPDATE is null) or (:new_emp.F_SYNC_UPDATE = 0) then
    --插入和更新操作,更新时间戳F_SYNC_DATE=systimestamp和F_SYNC_UPDATE=null
    if INSERTING or UPDATING then
      select systimestamp, null
        into :new_emp.F_SYNC_DATE, :new_emp.F_SYNC_UPDATE
        from dual;
    end if;
    if INSERTING then
      --把新增加的记录插入到操作记录表
      insert into DATA_SYNC_B_OPERATOR
        (t_name, o_type, o_date, VKEYS)
      values
        ('@TABLE@', 1, systimestamp, @INSERTVAL@);
    end if;
    if DELETING then
      --把删除记录的主键添加到操作记录表
      insert into DATA_SYNC_B_OPERATOR
        (t_name, o_type, o_date, VKEYS)
      values
        ('@TABLE@', 3, systimestamp, @UPDATEVAL@);
    end if;
  end if;
end DATA_SYNC_@TABLE@;

标题名称:Oracle创建触发器
本文URL:http://www.hxwzsj.com/article/ipdgde.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 成都网站制作 专业网站设计 成都网站制作公司 成都网站制作 成都网站建设 成都网站制作 品牌网站建设 app网站建设 网站设计公司 重庆网站建设 成都品牌网站建设 公司网站建设 网站制作报价 成都响应式网站建设公司 高端网站设计推广 营销型网站建设 成都网站建设 成都网站建设 网站制作 成都定制网站建设 定制网站建设多少钱 重庆企业网站建设