触发器的实践运用

IC基础知识(十五)RS触发器、JK触发器、D触发器、T触发器 RS触发器、JK触发器、D触发器、T触发器介绍 阅读详情
  • 我们还是不讲解知识点,直接上实践练习代码,亲自测试书写,运行正常。逻辑准确。

题目:

在这里插入图片描述

  • 数据表:
    在这里插入图片描述

解题

1.
delimiter $$
create trigger trigger_delete after delete on sell_order
for each row
BEGIN
DECLARE id int;
DECLARE num int;

select sellorderid into id from sell_order where sellorderid = old.sellorderid;
--  不能使用select 这样给num赋值
--  select  sellordernumber into num from sell_order where sellorderid = old.sellorderid;
set num = old.sellordernumber;

update product
set  product.productstocknumber = product.productstocknumber + num, product.productsellnumber = product.productsellnumber - num where product.productid = old.productid;
end $$
delimiter ;


DELETE from sell_order where sellorderid = 31;

drop TRIGGER trigger_delete;


2. 
delimiter $$
create trigger trigger_update after update on sell_order
for each row
BEGIN
DECLARE num int;
--  无论正负值,后面全用加法就可以了
set num = new.sellordernumber - old.sellordernumber;

update product
set  product.productstocknumber = product.productstocknumber - num, 
product.productsellnumber = product.productsellnumber + num 
where product.productid = old.productid;

end $$
delimiter ;

update sell_order
SET sell_order.sellordernumber = 100 where sellorderid = 8;

drop TRIGGER trigger_update;


3.
delimiter $$
create trigger trigger_deleted before delete on employee
for each row
BEGIN
DECLARE id int;
DECLARE num int;
-- 获得员工id值 
set id = old.employeeid;

# 这里必需给num 变量赋初始值,要不然,select赋值时,会出现 num = null的情况,得不到正确结果。
set num = 0;
select count(sellorderid) into num from sell_order where employeeid = id;
if num > 0 then 
	delete from sell_order where employeeid = id;
end if;

end $$
delimiter ;

delete from employee where employeeid = 3;

drop TRIGGER trigger_deleted;


-- 若生成触发器失败则执行:
select version(),
@@sql_mode;SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

SQL Server DDL触发器运用 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents)背景(Contexts)基础知识(Rudimentary Knowledge)DDL运用场景(DDL Scene)补充说明(Addon)疑问(Questions)参考文献(References) 二.背景(Contexts)   说到触发器,大家都会想到这样的使用场景:当一个表的数据修改了,运用DML触 阅读详情

相关推荐

触发器代码

这是触发器的代码,希望需要的同学能有所获益,帮助大家

python中触发器的详细解惑

1.触发器的定义: 触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。 .安全性。可以基于数据库的值使用户具有操作数据库的某种权利。 # 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。 # 可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%。 审计。可以...

趙尒七 3702

Python使用time模块实现指定时间触发器示例

本文实例讲述了Python使用time模块实现指定时间触发器。分享给大家供大家参考,具体如下: 其实很简单,指定某个时间让脚本处理一个事件,比如说一个get请求~ 任何语言都会有关于时间的各种方法,Python也不例外。 help(time)之后可以知道time有2种时间表示形式: 1、时间戳表示法,即以整型或浮点型表示的是一个以秒为单位的时间间隔。这个时间的基础值是从1970年的1月1号零点开始算起。 2、元组格式表示法,即一种python的数据结构表示。这个元组有9个整型内容。分别表示不同的时间含义。     year (four digits, e.g. 1998)     month

数据库查询学习(1)

以下练习中包括查询表,查询列,查询指定列,group by 与order by(ASC与DESC),having、去掉重复,查询前几种(个)记录,between 与and,in 与集合,模糊查找,聚合函数(count、sum、avg、max、min)、字段提取 基于CompanySales数据库 该数据库脚本请参见我的博客,下方是链接 CompanySales数据库脚本链接 --1. 查询所有商品...

sxh06的博客 9134

别再手动算考勤了!教你用Python+企业微信API自动生成月度报表

本文介绍如何利用Python和企业微信API构建自动化考勤分析系统,实现从数据获取到可视化报表生成的全流程自动化。通过企业微信打卡接口获取数据,使用Pandas进行高效清洗和分析,并生成Excel和HTML格式的报表,大幅提升考勤统计效率。系统支持智能判定考勤状态,如迟到、早退等,并可通过定时任务实现月度自动化运行。

weixin_27875131的博客 287

C# 异步编程详解(Task,async/await)

同步和异步主要用于修饰方法。当一个方法被调用时,调用者需要等待该方法执行完毕并返回才能继续执行,我们称这个方法是同步方法;当一个方法被调用时立即返回,并获取一个线程执行该方法内部的业务,调用者不用等待该方法执行完毕,我们称这个方法为异步方法。异步的好处在于非阻塞(调用线程不会暂停执行去等待子线程完成),因此我们把一些不需要立即使用结果、较耗时的任务设为异步执行,可以提高程序的运行效率。

luxingyu329的博客 4148

python 定时任务触发(时序模型)

四个组件分别为:触发器(trigger),作业存储器(job store),执行器(executor),调度器(scheduler)start_date(datetime或str):最早开始时间(包含)end_date(datetime或str):最晚结束时间(包含)day_of_week(int 或 str):星期几(0-6)start_date(datetime或str):开始时间。end_date(datetime或str):结束时间。week(int 或 str):周(1-53)

March_A的博客 1669

【仿真】Carla Python API实战:从零搭建自动驾驶测试环境

本文详细介绍了如何使用Carla Python API从零搭建自动驾驶测试环境。通过Carla仿真平台,开发者可以构建高度逼真的城市环境和车辆物理模型,利用Python API实现传感器配置、数据采集、场景构建及自动驾驶算法集成。文章还分享了实际项目中的调试技巧和性能优化经验,帮助读者快速掌握自动驾驶仿真测试的核心技术。

weixin_29050513的博客 212

python--触发器, 储存过程, 事务

一. 触发器   使用触发器可以定制用户对某一张表的数据进行 [增, 删 ,改] 操作时前后的行为, (注意 没有查询),在进行增删改的时候出发的某个动作叫做 触发器. 其实就是在增删改的时候另外执行了一段SQL语句. 触发器器是被动调用的 不能由用户直接调用   一. 创建触发器 # 插入前 CREATE TRIGGER tri_before_insert_tb1 B...

dianlamu4982的博客 328

全网最详细的UAVCAN/DroneCAN链路开发(官方DroneCAN消息+自定义DroneCAN消息)附DroneCAN项目源码

全网最详细的UAVCAN/DroneCAN链路移植开发(官方DroneCAN消息+自定义DroneCAN消息)附工程移植源码

Bit_Dong的博客 3231

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

Soly_kun的博客 733

我整理了8种方案:Python执行定时任务!

在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond 结合命令行实现。另外一种方式是直接使用Python。接下来整理的是常见的Python定时任务的实现方式。

Python栈 788

PCIe 全解析笔记:从协议本质到工程实现

学习 PCIe,最容易陷入的误区是直接跳进协议手册(Base Spec 1300 多页),然后在 TLP 字段、LTSSM 状态、Ordering Rules 中迷失方向。正确的思维路径历史维度:从 PCI 到 PCIe,解决了什么核心矛盾?抽象维度:协议栈分层的真正意图是什么?工程维度:高速串行链路面临哪些物理挑战?协议如何应对?系统维度:作为 CPU 与外设的"动脉",PCIe 如何融入整个计算机体系?带着这四个视角去看每一个细节,知识才能内化为认知。

m0_46644103的博客 261

mysql触发器和存储过程的练习

mysql

2301_81227091的博客 119

21、时间触发以太网:通信、诊断、故障隔离与参数化详解

本文详细解析了时间触发以太网(TTEthernet)的核心机制,包括团检测算法、诊断服务、故障隔离策略、配置服务以及协议参数化等内容。TTEthernet是一种专为超高可靠性系统设计的网络技术,广泛应用于航空航天、工业自动化和汽车电子等领域。文章还探讨了其未来发展趋势,如技术创新与生态建设,为开发者、企业和研究机构提供了应用与发展的方向。

efc12345678的博客 110

使用ArcGIS Pro进行土地利用分类的机器学习与深度学习

传统的土地利用分类方法通常依赖于手动解译和规则定义,但随着机器学习和深度学习的发展,我们现在可以利用这些技术来自动化和提高分类的精度。ArcGIS Pro是一种功能强大的GIS软件,它提供了丰富的工具和功能,可以支持土地利用分类的机器学习和深度学习。我们将首先讨论数据准备和预处理的步骤,然后介绍常用的机器学习和深度学习方法,并提供相应的源代码示例。这可以通过人工标注或半自动的方式完成。数据裁剪:根据研究区域的范围,裁剪遥感影像数据,以减少计算和存储的负担,并确保只包含感兴趣的土地利用区域。

code_program481的博客 2039

触发器

本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5 使用触发器谓词

leo_ace的博客 418

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

触发器详解

ORACLE PL/SQL编程之八: 把触发器说透 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8

rich6888的专栏 400

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

oracle触发器,你想学的都在这里

原文的链接:https://blog.youkuaiyun.com/indexman/article/details/8023740/本篇主要内容如下:8.1 触发器类型8.1.1 DML触发器8.1.2 替代触发器8.1.3 系统触发器8.2 创建触发器8.2.1 触发器触发次序8.2.2 创建DML触发器8.2.3 创建替代(INSTEAD OF)触发器8.2.3 创建系统事件触发器8.2.4 系统触发器...

sinat_36684502的博客 225

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ORACLE : 把触发器

本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5 使用触发器谓词

My_de_Dream的专栏 605

PostgreSQL触发器和实体化视图在知识管理系统中的实践

在我们的知识管理系统中,为了提高系统性能和数据一致性,我们大量使用了PostgreSQL的触发器和实体化视图特性。本文将详细介绍这些特性的实践经验。适用场景:复杂的权限计算多表关联查询频繁访问但较少更新的数据注意事项:合理设置刷新策略监控视图大小建立合适的索引。

我是菜鸟程序员的博客 486

oracle触发器详解

本篇是在转载基础上修改的内容,如有不对之处还请包涵。 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2.3 创建替代(INSTEAD OF)触发器 8.2.3 创建系统事件触发器 8.2.4 系统触发器事件属性 8.2.5...

我爱技术男-江龙 169

触发器和存储过程(二)

理论篇 触发器: 基础知识:           用来保证数据完整性的特殊存储过程。不能直接执行,只能为表 上的Insert、Update、Delete事件所触发。能够维持比外键不能处理的复杂关系。 存储过程: 基础知识:          可以直接执行,执行速度快。提高了安全机制,改进了执行性能,减少了网络流量、增强了代码的重用性。 相同点:          开销低和存储的共同

王鹏 坚持学习,坚持进步,优秀是一种习惯 943

RS触发器、D触发器、JK触发器、T,T‘触发器的功能详细总结

在实际的数字系统中往往包含大量的存储单元,而且经常要求他们在同一时刻同步动作,为达到这个目的,在每个存储单元电路上引入一个时钟脉冲(CLK)作为控制信号,只有当CLK到来时电路才被“触发”而动作,并根据输入信号改变输出状态。把这种在时钟信号触发时才能动作的存储单元电路称为触发器,以区别没有时钟信号控制的锁存器。 根据逻辑功能的不同特点,把触发器分为RS、JK、T、D等几种类型。 ①首先我们介绍RS触发器(与非门) 这种触发器可以实现的功能有三种:1、输出置零 2、输出置一 3、输出保持不变 下面附上

python_baichi的博客 9万+

触发器详解——(一)D触发器

触发器是时序逻辑电路的基本单元,用来存储1位2进制信息,具有记忆和存储功能,其信息由双稳态电路来保存。触发器位脉冲边缘敏感器间,分为上升沿敏感和下降沿敏感。触发器的种类很多,由D触发器,J-K触发器,T触发器等。并且根据运用场景的不同,触发器还会有置位,复位,使能和选择等功能。 1、D触发器 ...

qq_41844618的博客 31万+
上一篇: Vscode远程连接服务器,配置nginx
下一篇: 数据库之 case关键字和 pivot使用,行列转换实现
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值