PostgreSQL新增、更新、删除触发器

-- wf_message_cfys数据更新到wf_message触发器函数
CREATE OR REPLACE FUNCTION "public"."func_wf_message_sync_trigger"()
  RETURNS TRIGGER AS $BODY$
 BEGIN
   IF TG_OP = 'INSERT' THEN
       insert into wf_message(wf_message_id,sys_role_id,wf_biz_proc_inst_id,work_item_id,act_name,proc_inst_name,arrival_date,submit_date,uri,handler_account,handler_name,approvable,commentable,approval_comment,batchable,node_code,part_code,type,status,system_code,system_name,role_name,province_code,lot_no,create_date,update_date)VALUES(NEW.id,NEW.role_id,NEW.proc_inst_id,NEW.work_item_id,NEW.act_name,NEW.proc_inst_name,NEW.arrival_time,NEW.submit_time,NEW.uri,NEW.handler_account,NEW.handler_name,NEW.approvable,NEW.commentable,NEW.approval_comment,NEW.batchable,NEW.node_code,NEW.part_code,NEW.type,NEW.status,NEW.system_code,NEW.system_name,NEW.role_name,NEW.province_code,NEW.lot_no,now(),now());
         RETURN NEW;

    ELSIF TG_OP = 'UPDATE' THEN
       update wf_message set sys_role_id=NEW.role_id,wf_biz_proc_inst_id=NEW.proc_inst_id,work_item_id=NEW.work_item_id,act_name=NEW.act_name,proc_inst_name=NEW.proc_inst_name,arrival_date=NEW.arrival_time,submit_date=NEW.submit_time,uri=NEW.uri,handler_account=NEW.handler_account,handler_name=NEW.handler_name,approvable=NEW.approvable,commentable=NEW.commentable,approval_comment=NEW.approval_comment,batchable=NEW.batchable,node_code=NEW.node_code,part_code=NEW.part_code,type=NEW.type,status=NEW.status,system_code=NEW.system_code,system_name=NEW.system_name,role_name=NEW.role_name,province_code=NEW.province_code,lot_no=NEW.lot_no,update_date=now()
         where wf_message_id=NEW.id;
         RETURN NEW;

    ELSIF TG_OP = 'DELETE'  THEN
       delete from wf_message where wf_message_id=OLD.id;
         RETURN OLD;
   END IF;
 EXCEPTION
  WHEN OTHERS THEN
    null;
    return null;
 END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100 ;

-- wf_message_cfys数据更新到wf_message触发器
CREATE TRIGGER func_wf_message_sync_trigger AFTER INSERT OR UPDATE OR DELETE ON "public"."wf_message_cfys"
FOR EACH ROW
EXECUTE PROCEDURE "public"."func_wf_message_sync_trigger"();
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淮城一只猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值