人大金仓 PostgreSQL 触发器同步记录数据到另一张表

创建触发器

CREATE TRIGGER sync_tz_ly_event_trigger AFTER INSERT 
OR UPDATE OR DELETE ON tz_ly_event FOR EACH ROWEXECUTE FUNCTION sync_tz_ly_event_records ( );

创建触发函数

CREATE OR REPLACE FUNCTION "sync_tz_ly_event_records"()RETURNS "pg_catalog"."trigger" AS $BODY$ BEGINIFTG_OP = 'INSERT' THENINSERT INTO training_course_new ( record_id,class_name )VALUES( NEW.id,NEW.title );ELSIF TG_OP = 'UPDATE' THENUPDATE training_course_new SET class_name = NEW.title WHERErecord_id = CAST(OLD.id AS TEXT);ELSIF TG_OP = 'DELETE' THENDELETE FROMtraining_course_new WHERErecord_id = CAST(OLD.id AS TEXT);END IF;RETURN NULL;END;$BODY$LANGUAGE plpgsql VOLATILECOST 100
CREATE OR REPLACE FUNCTION "sync_tz_ly_event_records"()RETURNS "pg_catalog"."trigger" AS $BODY$ BEGINIFTG_OP = 'INSERT' THEN-- 		同心迁移活动表INSERT INTO training_course_new (record_id,class_name,dept_name,evt_time,address,evt_scale,train_man_num,CONTENT,poster_code,reg_bgn_date,reg_end_date,area_code,DOMAIN,publish_status,audit_by,audit_date,audit_comment,
-- 	因数据缺少,使用报名时间作为活动时间start_time,end_time,is_apply,ly_user_id,create_user,create_time,modify_user,modify_time,sort,
-- 	活动类型TYPE,
--  截止时间expire_time,
-- 	报道时间为活动开始时间report_time )VALUES(NEW.ID,NEW.title,NEW.host_unit,NEW.evt_time,NEW.evt_address,NEW.evt_scale,NEW.reg_max_num,NEW.description,NEW.poster_url,NEW.reg_bgn_date,NEW.reg_end_date,NEW.area_code,NEW.DOMAIN,NEW.STATE,NEW.audit_by,NEW.audit_date,NEW.audit_comment,
-- 	因数据缺少,使用报名时间作为活动时间
-- bgn_date,
-- end_date,NEW.reg_bgn_date,NEW.reg_end_date,NEW.is_apply,NEW.ly_user_id,NEW.created_by,NEW.created_date,NEW.last_modified_by,NEW.last_modified_date,NEW.sort,
-- 	活动类型2,
-- 截止时间NEW.reg_end_date,
-- 	因数据缺少,报道时间,用报名结束时间NEW.reg_end_date );
-- 			更新create_org_id,create_org_name字段 ,创建人可见改为部门可见UPDATE training_course_new tcn SET tcn.create_org_id = dept.dept_id,tcn.create_org_name = dept.dept_name FROMtraining_course_new courseLEFT JOIN sys_users users ON users."id" = course.create_userLEFT JOIN sys_dept dept ON dept.dept_id = users.org_id WHEREtcn.record_id = course.record_id AND tcn.record_id = CAST ( NEW.ID AS TEXT );
-- 活动新闻拆分INSERT INTO training_course_new_news ( training_course_id, is_news, news_content, news_state, news_date, news_author )VALUES(NEW.ID,NEW.is_news,NEW.news_content,CASEWHEN NEW.news_state = 0 THEN2 WHEN NEW.news_state = 1 THEN4 ELSE NULL END,NEW.news_date,NEW.news_author );ELSIF TG_OP = 'UPDATE' THENUPDATE training_course_new SET class_name = NEW.title,dept_name = NEW.host_unit,evt_time = NEW.evt_time,address = NEW.evt_address,evt_scale = NEW.evt_scale,train_man_num = NEW.reg_max_num,CONTENT = NEW.description,poster_code = NEW.poster_url,reg_bgn_date = NEW.reg_bgn_date,reg_end_date = NEW.reg_end_date,area_code = NEW.area_code,DOMAIN = NEW.DOMAIN,publish_status = NEW.STATE,audit_by = NEW.audit_by,audit_date = NEW.audit_date,audit_comment = NEW.audit_comment,start_time = NEW.reg_bgn_date,end_time = NEW.reg_end_date,is_apply = NEW.is_apply,ly_user_id = NEW.ly_user_id,create_user = NEW.created_by,create_time = NEW.created_date,modify_user = NEW.last_modified_by,modify_time = NEW.last_modified_date,sort = NEW.sort,TYPE = 2,expire_time = NEW.reg_end_date,report_time = NEW.reg_end_date WHERErecord_id = CAST ( OLD.ID AS TEXT );
-- 			新闻表更新UPDATE training_course_new_news SET is_news = NEW.is_news,news_content = NEW.news_content,news_state =CASEWHEN NEW.news_state = 0 THEN2 WHEN NEW.news_state = 1 THEN4 ELSE NULL END,news_date = NEW.news_date,news_author = NEW.news_author WHEREtraining_course_id = CAST ( OLD.ID AS TEXT );ELSIF TG_OP = 'DELETE' THENDELETE FROMtraining_course_new WHERErecord_id = CAST ( OLD.ID AS TEXT );END IF;RETURN NULL;END;
$BODY$LANGUAGE plpgsql VOLATILECOST 100

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865316.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 虚拟机 一

运行时数据区 我们先看线程隔离的数据区 程序计数器 程序计数器( Program Counter Register) 是一块较小的内存空间, 它可以看作是当前线程所执行的字节码的行号指示器。 字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执…

提升用户体验之requestAnimationFrame实现前端动画

1)requestAnimationFrame是什么? 1.MDN官方解释 2.解析这段话: 1、那么浏览器重绘是指什么呢? ——大多数电脑的显示器刷新频率是60Hz,1000ms/6016.66666667ms的时间刷新一次 2、重绘之前调用指定的回调函数更新动画? ——requ…

六西格玛绿带培训ROI:你的投资究竟值不值?

近年来,企业对于员工培训的投入日益增加,六西格玛绿带培训更是作为提升企业运营效率和质量管理的利器,更是备受关注。然而,面对高昂的培训成本,企业如何评估六西格玛绿带培训的投资回报率(ROI)呢…

安装Intel Realsense D435i驱动与ROS包报错

1.下载安装realsense SDK 1.1 安装依赖 sudo apt install libudev-dev pkg-config libgtk-3-dev sudo apt install libusb-1.0-0-dev pkg-config sudo apt install libglfw3-dev sudo apt install libssl-dev1.2 权限 cd librealsense/ sudo cp config/99-realsense-libusb.…

一万年太久,只争朝夕 | Foundation model的进展仍不够快

编者按:如今根基模型(Foundation Models)的应用和相关创新正在快速涌现,但仍有很大的提升空间,目前还无法充分发挥根基模型的潜能、将其高效快速地应用于企业级AI应用中。 根基模型的加速应用和落地,带动了…

64、基于去噪卷积神经网络的彩色图像去噪(matlab)

1、基于去噪卷积神经网络的彩色图像去噪的原理及流程 基于去噪卷积神经网络的彩色图像去噪是一种基于深度学习的图像处理技术,可以有效地去除图像中的噪声,提高图像的质量。下面是在Matlab中实现基于去噪卷积神经网络的彩色图像去噪的原理及流程&#x…

移动端响应式布局开发的四大方案

移动端响应式布局开发的四大方案 media媒体查询remflexvh/vw media媒体查询 媒体查询通常会结合百分比实现自适应,它经常应用于pc端与移动端是一套项目代码的情况,依据媒体查询写多套不同的样式 rem pc端和移动端是两套代码的,通常pc端不做…

ChatGPT如何应用在谷歌seo?

ChatGPT在提升博客和创作效率方面非常有用。它可以帮助你快速生成吸引人的标题,确保内容第一眼就能抓住读者的注意力。不仅如此,ChatGPT还能根据你的主题生成详细的文章提纲,让你在写作时思路更加清晰。关键词优化也是它的强项,可…

300KG载重履带式无人车技术详解

一、动力系统 300KG载重履带式无人车采用了高效且稳定的动力系统,通常由电池组或燃油发动机作为动力源。电池组提供了较长的续航时间和较低的运行噪音,适用于需要静音作业的场合。而燃油发动机则能提供更高的功率和续航能力,适用于需要长时间…

STM32远程烧录程序

目录 简介 不同的程序下载方式 ICP:In-Circuit Programming ISP:In-System Programing IAP:In-Application Programming BootLoader Bootloader 是什么? STM32的启动方式 存储器组织 存储器映像 嵌入式SRAM 嵌入式FL…

不同行业如何选择适合自己行业的项目管理工具?

在当今的信息化时代,项目管理软件已成为各行各业不可或缺的工具。然而,由于各行业具有不同的特点和需求,因此选择合适的项目管理软件成为了一个重要问题。本文将探讨不同行业在选择项目管理软件时需要考虑的因素,希望能帮助大家更…

vue实现一个简单的审批绘制功能

1、vue代码 <div class"approval"><div class"approval_ul" v-for"(item,key) in approvalList" :key"key"><div><el-radio-group v-model"item.jointlySign"><el-radio label"1">…

【超全详解】耳机怎么清理?手把手教你清洁各种耳机!

平时听歌、听书、打电话耳机往往有时候几个小时都戴着&#xff0c;时间久了难免会堆积污垢堵孔。这可能就会造成耳机左右音量不一致、声音小、降噪效果变差、嗡嗡声等问题&#xff0c; 而且耳机用久了如果不及时清理&#xff0c;可能导致耳朵感染细菌&#xff0c;严重的话会影响…

亚马逊测评策略全攻略:详析各方案优势与局限,你精通了吗?

亚马逊测评&#xff0c;一个绕不开的话题。不管是对于新手卖家还是资深卖家来说&#xff0c;它都是提升产品销量和排名的有效手段之一。接下来&#xff0c;我将为大家详细解析亚马逊测评的各种方式和注意事项。 一、精准筛选真人测评资源 在寻找真人测评资源时&#xff0c;许多…

难道 Java 已经过时了?

当一门技术已经存在许多年了&#xff0c;它可能会失去竞争力&#xff0c;而后黯然退场&#xff0c;默默地离开&#xff0c;这对大部分的人来说就已经算是过时了。 Java 于 1995 年正式上线&#xff0c;至今已经走过了 27 个年头&#xff0c;在众多编程技术里算是年龄比较大的语…

数据结构----栈和队列之队列的实现

目录 1.基本概况 2.队列组成 3.队列的实现 &#xff08;1&#xff09;队列的初始化 &#xff08;2&#xff09;队列的销毁 &#xff08;3&#xff09;队列的尾插 &#xff08;4&#xff09;队列的头删 &#xff08;5&#xff09;队列的判空 &#xff08;6&#xff09;队…

外挂级OCR神器:免费文档解析、表格识别、手写识别、古籍识别、PDF转Word

智能文档解析&#xff1a;大模型友好的文档解析工具 PDF转Markdown 支持将任意格式的文件&#xff08;图片、PDF、Doc&#xff0f;Docx、网页等&#xff09;解析为Markdown或Json格式&#xff0c;以对LLM友好的方式呈现。 更高速度&#xff1a;100页PDF最快1.5s完成解析 更大…

SAR目标检测

Multi-Stage with Filter Augmentation 多阶段滤波器增强(MSFA) 对SAR合成孔径雷达目标检测性能的改善 MSFA ON SAR 传统方法: 预训练:传统方法开始于在通用数据集上预训练一个基础模型。 微调:这个预训练的模型会被微调以适应特定的SAR图像&#xff0c;试图缩小域间的差距 …

【JAVA多线程】JDK中的各种锁,看这一篇就够了

目录 1.概论 1.1.实现锁的要素 1.2.阻塞队列 1.3.Lock接口和Sync类 2.各种锁 2.1.互斥锁 2.1.1.概论 2.1.2.源码 1.lock() 2.unlock() 2.2.读写锁 2.3.Condition 2.3.1.概论 2.3.2.底层实现 1.概论 1.1.实现锁的要素 JAVA中的锁都是可重入的锁&#xff0c;因为…

苹果再出新招:macOS15 Beta2预览版更新,居然还有iPhone镜像功能

在数字化时代&#xff0c;操作系统的更新迭代是技术进步的显著标志。苹果公司以其一贯的创新精神&#xff0c;不断推动着个人计算体验的边界。 2024年6月25日&#xff0c;苹果公司向Mac电脑用户推出了macOS 15开发者预览版Beta 2更新&#xff0c;这不仅是对macOS系统的一次重大…