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

MySQL第五次作业

根据图片内容完成作业

1.建表

(1)建立两个表:goods(商品表)、orders(订单表)

mysql> create table goods(
    -> gid char(8) primary key,
    -> name varchar(10),
    -> price decimal(8,2),
    -> num int);

mysql> create table orders(
    -> oid int primary key auto_increment,
    -> gid char(10) not null,
    -> name varchar(10),
    -> price decimal(8,2),
    -> onum int,
    -> otime date); 

 (2)在商品表中导入商品记录

mysql> insert into goods values
    -> ('A0001','橡皮',2.5,100),
    -> ('B0001','小楷本',2.8,210),
    -> ('C0001','铅笔',1.2,120),
    -> ('D0001','计算器',28,20);

2.建立触发器

(1)建立触发器,订单表中增加订单数量后,商品表商品数量同步减少对应的商品订单出数量,并测试

mysql> create trigger order_after_insert_trigger
    -> after insert on orders for each row
    -> update goods set num=goods.num-new.onum where gid=new.gid;

(2)建立触发器,实现功能:客户取消订单,恢复商品表对应商品的数量

mysql> create trigger order_after_delete_trigger
    -> after delete on orders for each row
    -> update goods set num=num+old.onum where gid=old.gid; 

 (3)建立触发器,实现功能:客户修改订单,商品表对应商品数量同步更新

mysql> create trigger order_after_update_trigger
    -> after update on orders for each row
    -> update goods set num=num+(old.onum-new.onum) where gid=old.gid;

 3.存储过程

(1)使用mydb7 openlab,创建提取emp_new表所有员工姓名和工资的存储过程proc01

mysql> delimiter //
mysql> create procedure proc01()
    -> begin
    ->          select name,incoming from emp_new;
    -> end //

mysql> delimiter ;
mysql> call proc01();

 (2)创建存储过程proc02,实现输入员工姓名后返回员工的年龄

mysql> delimiter //
mysql> create procedure proc02(in in_name varchar(10), out out_age int)
    -> begin
    ->          select age into out_age from emp_new where name=in_name;
    -> end //

mysql> delimiter ;
mysql> call proc02('张三',@out_age);

mysql> select @out_age;

 (3)创建一个存储过程proc03,有2个参数,传入部门号,返回该部门的平均工资

mysql> delimiter //
mysql> create procedure proc03(in in_dept2 int, out out_avg float)
    -> begin
    ->          select avg(incoming) into out_avg from emp_new where in_dept2=dept2;
    -> end //

mysql> delimiter ;
mysql> call proc03(101,@out_avg);

mysql> select @out_avg;

http://www.lryc.cn/news/533979.html

相关文章:

  • 【PDF提取内容】如何批量提取PDF里面的文字内容,把内容到处表格或者批量给PDF文件改名,基于C++的实现方案和步骤
  • 智慧机房解决方案(文末联系,领取整套资料,可做论文)
  • 【C编程问题集中营】使用数组指针时容易踩得坑
  • 【Redis】Linux、Windows、Docker 环境下部署 Redis
  • 反函数定义及其推导
  • 2025.2.9机器学习笔记:PINN文献阅读
  • Oracle数据连接 Dblink
  • fetch请求总结,fastadmin中后台接口强制返回json数据
  • 基于STM32的智能鱼缸水质净化系统设计
  • JAVA安全—FastJson反序列化利用链跟踪autoType绕过
  • 格式化字符串漏洞(Format String Vulnerability)
  • C++--iomanip库
  • Redis 集群原理、主从复制和哨兵模式的详细讲解
  • 基于Java的远程视频会议系统(源码+系统+论文)
  • springboot 事务管理
  • 深度学习-神经机器翻译模型
  • .NET周刊【2月第1期 2025-02-02】
  • 【合集】Java进阶——Java深入学习的笔记汇总 amp; 再论面向对象、数据结构和算法、JVM底层、多线程
  • GPU、CUDA 和 cuDNN 学习研究【笔记】
  • 【5】阿里面试题整理
  • 计算机毕业设计hadoop+spark+hive物流预测系统 物流大数据分析平台 物流信息爬虫 物流大数据 机器学习 深度学习
  • Wpf美化按钮,输入框,下拉框,dataGrid
  • 搜索插入位置:二分查找的巧妙应用
  • Cocos2d-x 游戏开发-打包apk被默认自带了很多不必要的权限导致apk被报毒,如何在Cocos 2d-x中强制去掉不必要的权限-优雅草卓伊凡
  • 自动化xpath定位元素(附几款浏览器xpath插件)
  • String类(6)
  • 动态表格html
  • ZU47DR 100G光纤 高性能板卡
  • mysql8.0使用pxc实现高可用
  • Kotlin 使用 Chrome 无头浏览器