当前位置: 首页 > news >正文

mysql 、sql server trigger 触发器

sql server

在这里插入图片描述

mySQL

create trigger 触发器名称
{ before | after }  [ insert | update | delete ] on  表名
for each  row
触发器执行的语句块## 表名:  表示触发器监控的对象
## before |  after :  表示触发的时间,before  :  表示在事件之前触发;  after:表示在事件之后触发
##  insert  |   update  |  delete :表示触发的事件Insert: 表示插入记录时触发update: 表示更新记录时触发delete:表示删除记录时触发## 触发器执行语句块:  可以是单条sql语句,也可以有 begin  。。。。end  结构组成的复合语句块,注意要加 delimiter  $   .....delimiter ;

在这里插入图片描述

NEW与OLD详解

MySQL 中定义了 NEW 和 OLD,用来表示触发器的所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容,具体地:

在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据;
在UPDATE型触发器中,OLD用来表示将要或已经被修改的原数据,NEW用来表示将要或已经修改为的新数据;
在DELETE型触发器中,OLD用来表示将要或已经被删除的原数据;
使用方法:

NEW.columnname:新增行的某列数据(columnName为相应数据表某一列名)
OLD.columnname:删除行的某列数据(columnName为相应数据表某一列名)
另外,OLD是只读的,而NEW则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用

sql server Insertded 等价 Mysql NEW deleted表 等价 OLD 表

在这里插入图片描述

查看触发器

1、SHOW TRIGGERS语句查看触发器信息

#查询所有触发器
SHOW TRIGGERS

结果,显示所有触发器的基本信息;无法查询指定的触发器

2、在information_schema.triggers表中查看指定触发器信息

#查询指定触发器
SELECT * FROM information_schema.triggers WHERE TRIGGER_NAME=‘trig1’;

结果,显示所有触发器的详细信息;同时,该方法可以查询制定触发器的详细信息。

Tips:所有触发器信息都存储在information_schema数据库下的triggers表中,可以使用SELECT语句查询,如果触发器信息过多,最好通过TRIGGER_NAME字段指定查询。

删除触发器

DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name

在这里插入图片描述

#删除指定触发器
drop trigger  trig1;

总结

触发器是基于触发的,所以删除、新增或者修改操作可能都会激活触发器,所以不要编写过于复杂的触发器,也不要增加过多的触发器,这样会对数据的插入、修改或者删除带来比较严重的影响,同时也会带来可移植性差的后果,所以在设计触发器的时候一定要有所考虑。

触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。

相关文章:

mysql 、sql server trigger 触发器

sql server mySQL create trigger 触发器名称 { before | after } [ insert | update | delete ] on 表名 for each row 触发器执行的语句块## 表名: 表示触发器监控的对象 ## before | after : 表示触发的时间,before : 表示在事件之前触发&am…...

自然语言处理从入门到应用——LangChain:索引(Indexes)-[检索器(Retrievers)]

分类目录:《自然语言处理从入门到应用》总目录 检索器(Retrievers)是一个通用的接口,方便地将文档与语言模型结合在一起。该接口公开了一个get_relevant_documents方法,接受一个查询(字符串)并返…...

春秋云境:CVE-2022-0543(Redis 沙盒逃逸漏洞)

目录 一、i春秋题目 二、CVE-2022-0543:(redis沙盒逃逸) 漏洞介绍: 漏洞复现: 一、i春秋题目 靶标介绍: Redis 存在代码注入漏洞,攻击者可利用该漏洞远程执行代码。 进入题目:…...

关于uniapp组件的坑

关于uniapp组件的坑 我有一个组件写的没什么问题,但是报下面这个错误 is not found in path “components/xxx/xxxx” (using by “components/yyy/yyy”) 最后经过排除发现命名需要驼峰命名法 我原本组件命名: 文件夹名 test_tttt 文件名 test_tttt.vue 不行 最后改成文件…...

AIGC与软件测试的融合

一、ChatGPT与AIGC 生成式人工智能——AIGC(Artificial Intelligence Generated Content),是指基于生成对抗网络、大型预训练模型等人工智能的技术方法,通过已有数据的学习和识别,以适当的泛化能力生成相关内容的技术。…...

滑动验证码-elementui实现

使用elementui框架实现 html代码 <div class"button-center"><el-popoverplacement"top":width"imgWidth"title"安全验证"trigger"manual"v-model"popoverVisible"hide"popoverHide"show&quo…...

ubuntu 20.04 安装 高版本cuda 11.7 和 cudnn最新版

一、安装显卡驱动 参考另一篇文章&#xff1a;Ubuntu20.04安装Nvidia显卡驱动教程_ytusdc的博客-CSDN博客 二、安装CUDA 英伟达官网&#xff08;最新版&#xff09;&#xff1a;CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer CUDA历史版本下载地址&#xff1a;C…...

svg图片如何渲染到页面,以及svg文件的上传

svg图片渲染到页面的几种方式 背景&#x1f7e1;require.context获取目录下的所有文件&#x1f7e1;方式1: 直接在html中渲染&#x1f7e1;方式: 发起ajax请求&#xff0c;获取SVG文件 背景 需要实现从本地目录下去获取所有的svg图标进行预览&#xff0c;将选中的图片显示在另…...

GPT-LLM-Trainer:如何使用自己的数据轻松快速地微调和训练LLM

一、前言 想要轻松快速地使用您自己的数据微调和培训大型语言模型&#xff08;LLM&#xff09;&#xff1f;我们知道训练大型语言模型具有挑战性并需要耗费大量计算资源&#xff0c;包括收集和优化数据集、确定合适的模型及编写训练代码等。今天我们将介绍一种实验性新方法&am…...

深入理解ForkJoin

任务类型 线程池执行的任务可以分为两种&#xff1a;CPU密集型任务和IO密集型任务。在实际的业务场景中&#xff0c;我们需要根据任务的类型来选择对应的策略&#xff0c;最终达到充分并合理地使用CPU和内存等资源&#xff0c;最大限度地提高程序性能的目的。 CPU密集型任务 …...

Spring5学习笔记—AOP编程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Spring专栏 ✨特色专栏&#xff1a; M…...

适用于 Docker 用户的 kubectl

适用于 Docker 用户的 kubectl 你可以使用 Kubernetes 命令行工具 kubectl 与 API 服务器进行交互。如果你熟悉 Docker 命令行工具&#xff0c; 则使用 kubectl 非常简单。但是&#xff0c;Docker 命令和 kubectl 命令之间有一些区别。以下显示了 Docker 子命令&#xff0c; 并…...

网络安全设备篇——加密机

加密机是一种专门用于数据加密和解密的网络安全设备。它通过使用密码学算法对数据进行加密&#xff0c;从而保护数据的机密性和完整性。加密机通常被用于保护敏感数据&#xff0c;如金融信息、个人身份信息等。 加密机的主要功能包括&#xff1a; 数据加密&#xff1a;加密机使…...

Rust 基础入门 —— 2.3.所有权和借用

Rust 的最主要光芒&#xff1a; 内存安全 。 实现方式&#xff1a; 所有权系统。 写在前面的序言 因为我们这里实际讲述的内容是关于 内存安全的&#xff0c;所以我们最好先复习一下内存的知识。 然后我们&#xff0c;需要理解的就只有所有权概念&#xff0c;以及为了开发便…...

Node.js-Express框架基本使用

Express介绍 Express是基于 node.js 的web应用开发框架&#xff0c;是一个封装好的工具包&#xff0c;便于开发web应用&#xff08;HTTP服务&#xff09; Express基本使用 // 1.安装 npm i express // 2.导入 express 模块 const express require("express"); // 3…...

阿里云通用算力型u1云服务器CPU性能详细说明

​阿里云服务器u1是通用算力型云服务器&#xff0c;CPU采用2.5 GHz主频的Intel(R) Xeon(R) Platinum处理器&#xff0c;通用算力型u1云服务器不适用于游戏和高频交易等需要极致性能的应用场景及对业务性能一致性有强诉求的应用场景(比如业务HA场景主备机需要性能一致)&#xff…...

设计模式之创建者模式

文章目录 一、介绍二、应用三、案例1. 麦当劳11随心配2. 代码演示3. 演示结果 四、优缺点五、送给读者 一、介绍 建造者模式(Builder Pattern)属于创建型设计模式&#xff0c;很多博客文章的对它的作用解释为用于将复杂对象的创建过程与其细节表示分离。但对于初学者来说&…...

Java之包,权限修饰符,final关键字详解

包 2.1 包 包在操作系统中其实就是一个文件夹。包是用来分门别类的管理技术&#xff0c;不同的技术类放在不同的包下&#xff0c;方便管理和维护。 在IDEA项目中&#xff0c;建包的操作如下&#xff1a; 包名的命名规范&#xff1a; 路径名.路径名.xxx.xxx // 例如&#xff…...

“深入解析JVM:Java虚拟机内部原理揭秘“

标题&#xff1a;深入解析JVM&#xff1a;Java虚拟机内部原理揭秘 摘要&#xff1a;本文将深入探讨Java虚拟机&#xff08;JVM&#xff09;的内部原理&#xff0c;包括JVM的架构、运行时数据区域、垃圾回收机制以及即时编译器等重要组成部分。通过对JVM内部原理的解析&#xf…...

Mac下Jmeter安装及基本使用

本篇文章只是简单的介绍下Jmeter的下载安装和最基本使用 1、初识Jmeter 前一段时间客户端app自测的过程中&#xff0c;有偶现请求某个接口返回数据为空的问题&#xff0c;领导让我循环100次请求这个接口&#xff0c;看看有没有结果为空的问题。听同事说有Jmeter的专业测试工具…...

FPGA开发避坑指南:Vivado 2023.1下MIG IP核(AXI4接口)配置DDR3的完整流程与常见错误排查

FPGA开发实战&#xff1a;Vivado 2023.1中MIG IP核配置DDR3的深度解析与高效排错 在FPGA开发领域&#xff0c;DDR3内存控制器的实现一直是工程师面临的技术挑战之一。Xilinx Vivado工具链中的Memory Interface Generator&#xff08;MIG&#xff09;IP核为这一难题提供了优雅的…...

3步激活旧设备潜能:开源工具OpenCore Legacy Patcher全攻略

3步激活旧设备潜能&#xff1a;开源工具OpenCore Legacy Patcher全攻略 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 旧设备升级不再是难题&#xff0c;借助开源工具Ope…...

OpCore-Simplify终极指南:如何快速构建完美的OpenCore EFI配置

OpCore-Simplify终极指南&#xff1a;如何快速构建完美的OpenCore EFI配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的Hackintosh配置…...

Labelme标注的坑我帮你踩完了:Win/Mac/Linux三大系统安装避坑指南与界面汉化

Labelme三大系统安装避坑全指南&#xff1a;从环境配置到界面汉化实战 第一次打开Labelme时&#xff0c;那个满屏英文的界面和莫名其妙的报错提示&#xff0c;是不是让你瞬间想起了被毕业设计支配的恐惧&#xff1f;作为计算机视觉领域最受欢迎的标注工具之一&#xff0c;Label…...

AnythingLLM文档处理革命:如何用统一接口解析20+文件格式构建智能知识库

AnythingLLM文档处理革命&#xff1a;如何用统一接口解析20文件格式构建智能知识库 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型…...

如何用OpenClaw的cron定时任务功能,每天自动发送待办清单

要实现“每天自动发送待办清单”&#xff0c;你需要将 Cron 定时触发器、待办管理 Skills​ 和消息推送渠道三者打通。这里提供两套最实用的方案&#xff0c;推荐优先使用 CLI 命令方案&#xff0c;它更稳定且易于调试。&#x1f680; 方案一&#xff1a;CLI 命令配置&#xff…...

FFmpeg5.0源码解析——深入探索MOV文件格式的封装与解封装机制

1. MOV文件格式的前世今生 第一次接触MOV格式还是在十年前处理iPhone拍摄的视频时&#xff0c;这种由苹果公司开发的容器格式就像个精致的黑盒子&#xff0c;表面看着简单&#xff0c;打开后才发现内部结构精妙绝伦。和MP4这对"孪生兄弟"都基于ISO基础媒体文件格式(I…...

4步攻克企业级Web表单开发:Dify工作流可视化实战指南

4步攻克企业级Web表单开发&#xff1a;Dify工作流可视化实战指南 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程&#xff0c;自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-W…...

手机号查询QQ技术解析与实战指南

手机号查询QQ技术解析与实战指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 问题&#xff1a;数字化时代的身份关联困境 在现代社会&#xff0c;手机号与QQ号作为重要的数字身份标识&#xff0c;其关联查询需求日益凸显。当用户…...

Realistic Vision V5.1 生态工具集成展示:与Cursor等AI编程助手联动工作流

Realistic Vision V5.1 生态工具集成展示&#xff1a;与Cursor等AI编程助手联动工作流 最近在尝试把各种AI工具串起来用&#xff0c;发现了一件挺有意思的事。以前我们做开发&#xff0c;写代码是一个工具&#xff0c;画界面图是另一个工具&#xff0c;做流程图还得再开一个软…...