需求说明:培训记录处录入“外出培训”记录,保存后同步外出培训合同至“合同模块”

培训记录表PX_Record创建触发器

步骤一、新建触发器:[insert_htandAL]

步骤二、当PeiXun_Record表有INSERT,DELETE,UPDATE操作,则在触发器中执行INSERT,DELETE,UPDATE 操作将相关改变同步至合同表Emp_HT,必须用PX_Record表中Pxr_ID字段做唯一标识过滤

执行代码如下:

USE [XXXXX]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[insert_htandAL]

ON  [dbo].[PX_Record]

for INSERT,DELETE,UPDATE

AS

BEGIN

--01新增操作

if(exists(select 1 from inserted) and not exists(select 1 from deleted))

insert into Emp_HT (Comp_Code,Ht_code,Ht_empid,Ht_class,Ht_StartDate,Ht_EndDate,Ht_OldID,Ht_Num,Ht_Status,Ht_IsZhiXing,Ht_ContinueDesc,Ht_StopDesc

,Ht_EndDesc,Ht_desc,Ht_memo,createby,createtime,updateby,updatetime,Ht_Company,Ht_Year,G_htzdr,Ht_DocPath,Ht_Template,Ht_TemplatePath,G_pxid)

select a.Comp_Code,Emp_code,Pxr_empid,'02',G_sxDate,G_shxDate,null,1,0,1,null,null

,null,null,Pxr_memo,a.createby,a.createtime,a.updateby,a.updatetime,null,G_qdnx,null,null,null,null,Pxr_ID

from inserted a

inner join Emp_Base b on a.Pxr_empid=b.Emp_id

where isnull(pxr_class,0)=1 and G_ifpxxy='是'

END

--02删除操作

if(not exists(select 1 from inserted) and exists(select 1 from deleted))

begin

delete from Emp_HT

where G_pxid in(select Pxr_ID from deleted)

end

--03更新操作

if(exists(select 1 from inserted) and exists(select 1 from deleted))

begin

update Emp_HT set

Ht_StartDate=a.G_sxDate ,

Ht_EndDate=a.G_shxDate,

Ht_Year=a.G_qdnx,

updateby=a.updateby,

updatetime=a.updatetime

from inserted a

where G_pxid=a.Pxr_ID and isnull(a.pxr_class,0)=1 and a.G_ifpxxy='是'

end

备注说明:

触发器简介:

触发器是一种特殊的存储过程,它的执行不是由程序调用,也不是手动执行,而是由事件来触发。触发器是当对某一个表进行操作。例如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。

转载于:https://blog.51cto.com/1206411/2410568

触发器实现两表之间的INSERT,DELETE,UPDATE相关推荐

  1. sql server 中用sql实现两个表之间的inert/delete/update

    sql 中涉及到两个表CurrentData.dbo.EVUniverse and CurrentData.dbo.Staging_EVUniverse, 从前表到后表操作 ;--INSERT NEW ...

  2. MySQL5.7 支持一个表有多个INSERT/DELETE/UPDATE触发器

    在MySQL5.6版本里,不支持一个表有多个INSERT/DELETE/UPDATE触发器. 例如创建t1表两个INSERT的触发器: DELIMITER $$ USE `test`$$ DROP T ...

  3. mysql 5.7 insert_MySQL5.7 支持一个表有多个INSERT/DELETE/UPDATE触发器

    在MySQL5.6版本里,不支持一个表有多个INSERT/DELETE/UPDATE触发器. 例如创建t1表两个INSERT的触发器:DELIMITER $$ USE `test`$$ DROP TR ...

  4. 笔记:3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)

    转载:3.5 <数据库系统概论>之基本表更新(INSERT.UPDATE.ALTER.DELETE)与视图VIEW(定义.查询.更新)_BitHachi-CSDN博客 0.前言 数据库是S ...

  5. 3.5 《数据库系统概论》之基本表更新(INSERT、UPDATE、ALTER、DELETE)与视图VIEW(定义、查询、更新)

    文章目录 0.前言 1.思维导图 2.基本表更新---TABLE (1)插入数据---INSERT INTO ① 插入元组 ② 插入子查询结果 (2)修改数据---UPDATE SET ① 修改某一个 ...

  6. mysql两表之间字段匹配concat_实例学习MySQL多表之间字段的匹配

    多表之间字段进行匹配的sql语句: 复制代码 代码示例: $sql=$empire->query("select table.title,lianxi,table.dizhi,tabl ...

  7. MySQL 数据库常用命令—insert delete update select

    引言 MySQL 数据库和其它的数据库一样,也支持增(insert)删(delete)改(update)查(select)操作. insert 基本语法规则 insert into table_nam ...

  8. SqlServer两表之间:根据一个表的字段更新另一个表的字段

    经百度查询到如下两种写法: 1. 写法轻松,更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table ...

  9. 三表左连接(LEFT JOIN) — 两表之间的关系

    三表左连接(LEFT JOIN) 问题:   最近遇到需求多表连接,要求A表所有数据均展示,B表和C表关联A表,若A表有的B,C表没有则展示为null,由此引发以下问题: A表作为基表,先关联B表,关 ...

最新文章

  1. jQuery 的 slideUp 和 slideDown 下拉卷动问题
  2. PostgreSQL在何处处理 sql查询之三十八
  3. c#获取电脑硬件信息参数说明(硬盘篇 Win32_DiskDrive)
  4. OpenPano:如何编写一个全景拼接器
  5. Oracle触发器详细介绍
  6. 打印某个进程下的所有线程--Linux环境
  7. 图说:Windows 8如何关机、重启
  8. VS Code 新版本重磅发布,迎来 2020 年首个重大更新!
  9. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅 ④ 初认识阿里天猫精灵官方Genie BT mesh Stack框架, windows平台搭建打印Hello World !
  10. 神州炫龙蓝天刷bios教程(百分百成功/不成功下面留言)
  11. ElementUI Plus
  12. “为什么你们开发这么慢?” 3页ppt讲透:帕金森定律,低效正在杀死你的团队!...
  13. PTA 循环结构 7-3 简写转全称
  14. 一只喵的西行记-14 蜗牛的金字塔说
  15. 2019阿里暑期实习一面
  16. 基于 Iterative 映射和单纯形法的改进灰狼优化算法-附代码
  17. Java-----投票系统
  18. 杰理之PAP接口【篇】
  19. linux系统下deepin-wine-qq图片加载不出来的解决方案
  20. 微信小程序Demo之电影评分功能

热门文章

  1. 数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!
  2. 本月Github热门开源项目排行榜...
  3. 把PPT做漂亮点真的有用,研究证明图表美观增加可信度,作者:还会影响论文引用和通过率...
  4. 目标10亿部?苹果AR眼镜有望明年登场!传搭载Mac级处理器、4K显示屏
  5. 覆盖近2亿篇论文还免费!沈向洋旗下团队「读论文神器」登B站热搜
  6. 导师:CNN 开山之作 AlexNet 都复现不了,延毕吧!
  7. 重磅!华为牵手顶尖985大学
  8. 大学老师吐血自白:指导学生写论文真是太太太太太难了!
  9. 这份GitHub 2.3k星的ML论文清单拿好,工作用得上
  10. 985 博士:导师是院士,直到毕业,我们都没单独说过一句话...