SQL server 创建触发器详解

article/2025/10/13 10:53:17

触发器定义:一种特殊类型的存储过程,不同于存储过程。存储过程 调用名称执行,触发器的调用 通过事件触发 自动调用执行 。

触发器分类:1、DML触发器

数据库再创建触发器时会在内存中创建了两个专用表﹕Inserted表和Deleted表。这两个表由系统来维护,当触发器 被激发完成后,与触发器相关的Inserted和Deleted这两个表也被删除

2、DDL触发器

DML(Data Manipulation Language)触发器

对表操作inserteddeleted
insert 存放插入的数据
update存放更新后的数据存放更新前的数据
delete存放被删除的数据

inserted    存放插入或更新后数据

deleted  存放更新前或删除的数据

今天我先介绍都DML触发器-插入和更新操作

DML触发器分为两种 :

after 触发器 insert 、update、delete  {执行完操作后,再去执行触发器本身}

instered of  触发器 insert 、update、delete {只执行触发本身}

两者是相互对立,最好不要在一张表中同时创建这两种触发器。 

--创建 after  insert 触发器:对表操作(我们对表执行插入操作时就会执行)

创建语法格式:

create  trigger 触发器名称
   on 表名
   after insert  /for insert
as

     T-SQL 语句
go

执行效果:

 alter trigger ...(对创建的触发器某些操作不满意,重新修改 )

触发 触发器 insert into 表名 (字段、字段、字段 ..)values(对应字段插入值) 为什么执行插入insert ,因为开始我就是创建的是after  insert 触发器 。

创建 after update 触发器 (我们对表执行更新操作时就会执行)

学习触发器之前我们只能看见update 更新后的数据
create trigger 创建触发器名称
on dbo.test
after update
as 
--T-sql
go

执行效果:

 本次执行过程执行的是 update(更新操作),而且还做了,将进行修改的数据,在修改前进行了,保存,通过语句 select * into 表名 from deleted (将更新前的数据保存在了testbackup表中)

 因为刚才讲过了,after 触发器 insert 、update、delete  {执行完操作后,再去执行触发器本身},我们在T-sql 语句中设置了会将更新前的数据保存在,testbackup 表中,所以我们会先去执行select*into testbackup from deleted {先把更新前数据保存后},再去执行 插入id=3 MNname= SQLserver age=22 这条语句。

我们去看一下testbackup这张表装的是什么

没错装的就是执行更新操作前  标识符 id= 3 的信息行装的数据 ,它原来是 MNname = 计算机 ,age= 3,我们将他更新成了 MNname =SQLserver ,age= 22 。

通过这个操作 ,我们也明白了 更新操作其实就是,先删除再去插入。 

总结: 本次DML触发器,我了解学习的也是很模糊,有些地方也没有给大家解释清楚,不过没有关系,同学们有什么看不懂欢迎发送私信提问,共同努力共同进步。

 


http://chatgpt.dhexx.cn/article/PNNA2vO1.shtml

相关文章

sqlserver触发器

为了更好的强制业务规则和保证数据的完整性,sql server为我们提供了两种机制,它们分别是约束(主键约束、外键约束、Not Null约束、唯一约束以及检查约束)和触发器。在触发器中,我们可以查询其他表,也可以包含复杂的Transact-SQL语…

SQLServer 触发器

今天修复K3系统生产出库单,审核、返审核 领料数量一直不变,没有相应改变,K3是16年买的,没有源码开发文档和表结构,只能在sqlserver中添加sql语句监视,看审核后改变那个表的状态和数据源sql语句,用触发器改变…

Mac 解压rar 文件

Mac 解压rar 文件 第一种方法: 下载下面链接中的软件,安装好就可以直接用了。 http://baijiahao.baidu.com/s?id1604390455412644388&wfrspider&forpc 安装过程中,一直点击下一步即可 第二种方法: https://blog.csd…

Mac电脑上视频压缩处理

第一步:用QuickTime Player打开你准备压缩的视频 第二步:选择文件——导出——1080P 720P 480P(建议用720和480) 第三步:选择你想要导出的大小,点击保存 最后一步,等存储完成就了 上面的图片视…

苹果电脑的压缩工具——FastZip

1.FastZip,一键快捷! FastZip可以进行分卷压缩解压,支持7Z,ZIP,RAR,TAR,GZIP,BZIP2,XZ,LZIP,ACE,ISO,CAB,PAX&#xff0c…

Linux/macOS的打包、压缩、解压缩

打包 tar,打包后的扩展名为 .tar xxx.tar为打包后的文件名,xxx为被打包的文件 tar -cf xxx.tar xxx压缩 压缩命令为:gzip、bzip2,但是tar命令中已经集成压缩命令,可以通过制定参数进行文件压缩 tar -zcf xxx.tar.…

【Mac-rar文件解压】Mac系统如何打开rar压缩包文件_无需下载应用程序的快捷4步操作法

一位不喜欢下很多应用程序在💻的目录 0.查阅说明1. 打开终端2.输入命令3. 输入命令4. 开始解压! 0.查阅说明 大家好👋,因为本人属实很不喜欢下载很多应用程序在电脑上,因此在网络上找到了另外一种解决解压rar压缩包的…

mac压缩文件多了__MACOSX目录问题

文章目录 背景原因解决方案:更换压缩方式分析问题拓展(.DS_Store) 背景 项目中有一个场景,需要把目录压缩为app离线包的zip 但是压缩之后一致打不开,别人上传的zip是好的 原因 如图,我上传的在安卓设备…

Mac 终端解压缩命令大全

Mac 终端解压缩命令大全 .zip 解压缩: unzip FileName.zip 压缩: zip FileName.zip DirName zip 使用细节 zip -q -r -e -m -o FileName.zip DirName -q 表示不显示压缩进度状态-r 表示子目录子文件全部压缩为zip //这部比较重要,不然的…

Mac使用命令行工具解压和压缩rar文件

目前在Mac电脑里支持解压缩的格式主要有:zip、gz等,但是还不支持rar格式的文件,接下来带着大家学习一下如何解压缩rar格式文件。 1.下载rar工具 打开:https://www.rarlab.com/download.htm 根据自己电脑的芯片要求选择自己的安装…

如何在Mac上快速压缩和解压文件?Mac上解压和压缩文件的方法

苹果mac电脑怎么压缩和解压文件?Mac电脑仅默认支持把文件压缩成zip格式,解压成zip、tar.gz,bz2等格式,有些操作需要安装第三方软件来完成,这篇文章为大家带来几种关于在Mac上解压和压缩文件的方法,有兴趣的朋友可以来了解一下载哦! 一、解压工具 1.MacOS自带的解压 只能…

Mac有哪些解压缩软件,他们的优缺点是什么,哪款比较好用?

Mac有哪些解压缩软件,他们的优缺点是什么,哪款比较好用? 相信有很多小伙伴和我有一样的疑问,Mac 有哪些解压缩软件,那款更好用哪?下面我们就带着疑问来详细了解一下 Mac 上的常见解压缩软件 一、macZip ⇲…

使用数字芯片将5V转3.3V方案电路图

5V转3.3V常用方案 ## 1.AMS117 优点:便宜,1毛一片 缺点:体积大 电路图(来自正点原子): 2. HT7833 优点:体积比AMS1117小一号 缺点:比1117贵一点,8~9毛…

数字芯片后端设计——SRAM宏模块布局布线

在40nm SMIC工艺下,根据手册总结单端SRAM的布局布线问题。 ArtiGrid power structure options:以下图为例,memory的电源布线,无论是core核还是外围periphery,都是在M4层展开,在整个SRAM宏模块中&#xff0…

华为2019数字芯片岗笔试解析二(单选第三部分)

首发来自公众号:数字芯片设计 21.数字电路设计中,下列哪种手段无法消除竞争冒险现象()【A】加滤波电容,消除毛刺【B】增加冗余项消除逻辑冒险【C】增加选通信号,避开毛刺【D】降低时钟频率 解析&#xff1a…

【开卷】第一期(下) ​海思提前批数字芯片笔试(带解析)

2022届的IC招聘,也来的太早了一些。应届生们刚刚办理完入职,各个企业的提前批招聘就突然启动。颇有秋招变夏招的架势。伴随着更多的非科班同学的转行,卷起来已成必然。而各个企业涉猎广泛的笔试题更是打了刚刚开始进行秋招准备的同学们一个措…

华为2019数字芯片岗笔试解析(多选部分)

首发来自微信公众号:数字芯片设计 不定项选择 1.关于状态机编码,如下描述中正确的是()【A】状态编码用parameter定义【B】状态机必须有default态【C】用组合逻辑和时序逻辑分离的风格描述FSM【D】用case语句描述状态的转移 解析&a…

华为海思 2021数字芯片/IC 笔试题+解析

题目来源于众多网友对笔试的记录、回忆。 理解不到位,难免出错,解析仅为个人看法,有不同意见请留言指教,谢谢! 题型: 30个单选10个多选 单选 1.影响芯片成本的主要因素是die size和封装,但电…

紫光展锐2021数字芯片笔试

紫光展锐2021数字芯片笔试题 一、单选题 A,计算过程参考CRC计算原理介绍B,删除命令的常用用法:rm -rf ./file.txt,mkdir是新建文件夹(目录),mv是移动文件(重命名) 不知道,感觉选A;A,PMOS是形成空穴沟道,衬底需要接VDD B,for…join_none内部各子语句是并行执行;…