学习笔记:MySQL数据库操作5

1. 触发器(Triggers)

触发器是数据库的一种高级功能,它允许在执行特定数据库操作(如INSERT、UPDATE、DELETE)之前或之后自动执行一段代码。

1.1 创建商品和订单表
  • 商品表(goods)

    • gid: 商品编号(主键)
    • name: 商品名
    • price: 商品价格
    • num: 商品数量

  • 订单表(orders)

    • oid: 订单号(主键,自动递增)
    • gid: 商品编号
    • name: 商品名
    • price: 商品价格
    • onum: 订单数量
    • otime: 订单时间

1.2 触发器的创建和测试
  • 订单数量增加触发器:当订单表中增加订单数量时,商品表中相应商品的数量同步减少。
  • 订单取消触发器:当订单被取消时,恢复商品表中对应商品的数量。
  • 订单修改触发器:当订单被修改时,商品表中对应商品的数量同步更新。
1.3测试触发器
  1. 插入初始数据到商品表和订单表。
  2. 执行触发器应该触发的操作(如插入、删除或更新订单)。
  3. 查询商品表,检查商品数量是否按预期更新。

  示例测试步骤

  1. 插入初始商品数据

  2. 插入订单数据

  3. 查询商品表检查数量变化

  4. 删除订单数据测试订单取消触发器

  5. 再次查询商品表

  6. 更新订单数据测试订单修改触发器

  7. 最终查询商品表

2. 存储过程(Stored Procedures)

存储过程是一组为了完成特定功能的SQL语句集合,可以接收输入参数,返回结果。

2.1 创建存储过程
  • s1:提取emp_new表所有员工的姓名和工资。
  • s2:输入员工姓名,返回员工的年龄。
  • s3:传入部门号,返回该部门的平均工资。
2.2使用存储过程

创建完存储过程后,您可以按照以下方式调用它们:

  1. 调用存储过程 s1

    这将返回emp_new表中所有员工的姓名和工资。

  2. 调用存储过程 s2 并传入员工姓名

    这将返回名为张三的员工的年龄。

  3. 调用存储过程 s3 并传入部门编号

    这将返回部门编号为20的部门的平均工资。

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

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

相关文章

Web3.js 4.x版本事件监听详解:从HTTP到WebSocket的迁移

项目场景 在一个使用以太坊区块链技术的项目中,需要监听智能合约的事件,以便在事件触发时能够及时响应。项目中使用了web3.js库的4.x版本,节点使用Geth启动,并通过HTTP与节点进行通信。 问题描述 合约DataStorage.sol文件已经定…

优雅单片机之STM32C8T6------蓝牙模块基本设置(2)

0,C8T6系列 1,入门之程序的下载 2,蓝牙模块基本设置(本文) 2,蓝牙模块基本应用 3,蓝牙小车(待定) 一,蓝牙模块基础设置 需要硬件:电脑&#x…

数据驱动未来:构建下一代湖仓一体电商数据分析平台,引领实时商业智能革命

1.1 项目背景 本项目是一个创新的湖仓一体实时电商数据分析平台,旨在为电商平台提供深度的数据洞察和业务分析。技术层面,项目涵盖了从基础架构搭建到大数据技术组件的集成,采用了湖仓一体的设计理念,实现了数据仓库与数据湖的有…

NGINX项目实战

一、nginx四层代理 部署支持4层TCP/UDP代理的Nginx服务器 部署nginx服务器 编译安装必须要使用--with-stream参数开启4层代理模块。 [rootproxy ~]# rm -rf /usr/local/nginx/ #清理环境 [rootproxy nginx-1.16.1]# ./configure --with-http_ssl_module --with-stream #开…

Java 沙漏图案(Hour-glass Pattern)

给定正整数 n,以沙漏形式打印数字模式。示例: 输入:rows_no 7 输出: 1 2 3 4 5 6 7 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 7 6 7 5 6 7 4 5 6 7 3 4 5 6 7 2 3 4 5 6 7 1 2 3 4 5 6…

phpwamp集成环境中里在php7.1.5下安装php_redis扩展及mysql索引类型和索引方法笔记

一、phpwamp集成环境中里在php7.1.5下安装php_redis扩展 phpwamp集成环境使用起来非常方便,选择要启用的环境启动即可,可以非常方便地在apache,nginx,php各版本之间切换。启动后的界面如下图,不过在使用phpwamp的过程中&#xff0…

C# 6.定时器 timer

使用控件: 开启定时器:timer1.Start(); 关闭定时器:timer1.Stop(); 定时间时间间隔:Interval timer1.Interval 1000; Interva等于1000是每一秒刷新一次 定时器默认时间间隔是100ms 代码创建定时器 ①创建 Timer t1 new Timer(); …

dotnet-starter-kit:一个Web API+Blazor多租户、模块化、简洁DDD架构!

推荐一个Web APIBlazor多租户、模块化、简洁DDD项目框架。 01 项目简介 dotnet-starter-kit是一个基于 .NET 8 的开源项目,架构构建基于 Clean Architecture 原则的解决方案。支持多租户、模块化,一个开箱即用的项目,方便我们快速开发项目。…

lua 游戏架构 之 游戏 AI (八)ai_tbl 行为和优先级

定义一系列的AI行为类型和它们的优先级,以及一个映射表ai_tbl来关联每种AI行为类型与对应的脚本文件和优先级。以下是对代码的详细解释: lua 游戏架构 之 游戏 AI (一)ai_base-CSDN博客https://blog.csdn.net/heyuchang666/artic…

【C++题解】1069. 字符图形5-星号梯形

问题&#xff1a;1069. 字符图形5-星号梯形 类型&#xff1a;嵌套循环、图形输出 题目描述&#xff1a; 打印字符图形。 输入&#xff1a; 一个整数&#xff08; 0<n<10 &#xff09;。 输出&#xff1a; 一个字符图形。 样例&#xff1a; 输入&#xff1a; 3输…

【公式解释】《系统论》《控制论》《信息论》的共同重构:探索核心公式与深度解析

《系统论》《控制论》《信息论》的共同重构&#xff1a;探索核心公式与深度解析 关键词&#xff1a;系统论、控制论、信息论、状态空间方程、系统矩阵。 Keywords: System theory, Control theory, Information theory, State-space equations, System matrices. 核心公式与…

访问控制列表(ACL)

文章目录 ACL原理与基本配置ACL分类ACL组成ACL规则的匹配与应用 ACL原理与基本配置 ACL(Access Control List&#xff0c;访问控制列表) 读取二层、三层、四层报文信息根据预先定义好的规则对报文进行过滤和分类实现网络访问控制、防止网络攻击和提高网络带宽利用率等目的提高…

Linux(虚拟机)的介绍

Linux介绍 常见的操作系统 Windows&#xff1a;微软公司开发的一款桌面操作系统&#xff08;闭源系统&#xff09;。版本有dos&#xff0c;win98&#xff0c;win NT&#xff0c;win XP , win7, win vista. win8, win10&#xff0c;win11。服务器操作系统&#xff1a;winserve…

论文阅读【检测】:商汤 ICLR2021 | Deformable DETR

文章目录 论文地址AbstractMotivation技术细节多尺度backbone特征MSDeformAttention 小结 论文地址 Deformable DETR 推荐视频&#xff1a;bilibili Abstract DETR消除对目标检测中许多手工设计的组件的需求&#xff0c;同时表现出良好的性能。然而&#xff0c;由于Transfor…

学习笔记之JAVA篇(0724)

p 方法 方法声明格式&#xff1a; [修饰符1 修饰符2 ...] 返回值类型 方法名&#xff08;形式参数列表&#xff09;{ java语句;......; } 方法调用方式 普通方法对象.方法名&#xff08;实参列表&#xff09;静态方法类名.方法名&#xff08;实参列表&#xff09; 方法的详…

软考:软件设计师 — 7.软件工程

七. 软件工程 1. 软件工程概述 &#xff08;1&#xff09;软件生存周期 &#xff08;2&#xff09;软件过程 软件开发中所遵循的路线图称为 "软件过程"。 针对管理软件开发的整个过程&#xff0c;提出了两个模型&#xff1a;能力成熟度模型&#xff08;CMM&#…

unity2D游戏开发06稳定,材质,碰撞器

稳定性 在操控玩家时,我们会发现玩家移动时,摄像头会有抖动,这是摄像机过度精确造成的。 创建名为RoundCameraPos的C#脚本,用Visual Studio打开 代码 using System.Collections; using System.Collections.Generic; using UnityEngine; using Cinemachine;//导入Cinemac…

DC系列靶场---DC 3靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sS -sV -T4 -p- -O 172.30.1.142//-sS TCP的SYN扫描 //-sV 服务版本检测 //-T4 野蛮的扫描&#xff08;常用&#xff09; //-O 识别操作系统 使用Nmap扫描只看到一个80端口&#xff0c;Apache的2.4.18版本。 http探测 使用Wappalyzer插件可以到…

SN65MLVD080使用手册

8通道半双工M-LVDS线路收发器 特性 低压差分30欧姆至55欧姆线路驱动器和接收器&#xff0c;支持信号速率高达250 Mbps&#xff1b;时钟频率高达125 MHz 满足或超过M-LVDS标准TIA/EIA-899多点数据交换规范 受控驱动器输出电压转换时间&#xff0c;提高信号质量 -1V至3.4V共模…

QQ微信头像制图工具箱小程序纯前端源码

QQ微信头像制图工具箱小程序纯前端源码&#xff0c;主要功能有文字九格、头像挂件生成、爆趣九宫格、形状九宫格、创意长图、情侣头像、猫狗交流器。 这个QQ微信小程序源码是纯前端的&#xff0c;基本上拿去就可以用&#xff0c;不过好像调用了很多API&#xff0c;由于最近时间…