MySQL第五次作业

  1. 触发器

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

mysql> use mydb16_trigger;

mysql> create table goods

gidchar(8)primary key,

varchar(10),name

pricedecimal(8,2),

intnum

#商品编号

#商品名

#价格

#数量

mysql> create table orders

)

oid

#订单号intprimary keyauto increment.char(10)not null

gid

#商品号

name

varchar(10),

#商品名

pricedecimal(8,2)

#价格

int ,

#订单数量

onum

otimedate

#订单时间

在商品表中导入商品记录

mysql>insert into goods values

('A0001','橡皮',2.5,100)

('B0001','小楷本',2.8,210),

('C0001',铅笔',1.2,120)

('D0001',计算器"28,20);

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

create trigger orders_after_insert_trigger

-> after insert on orders for each row

-> update goods set num=num-new.onum

-> where gid = new.gid;

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

create trigger orders_after_delete_trigger

-> after delete on orders for each row

-> update goods set num=num+old.onum

-> where gid = old.gid;

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

create trigger orders_after_update_trigger

-> after update on orders for each row

-> update goods set num=num+(old.onum - new.onum)

-> where gid = old.gid;

2.存储过程

使用mydb7 openlab库

创建提取emp_new表所有员工姓名和工资的存储过程

create procedure s1()

-> begin

-> select name,incoming from emp_new;

-> end //

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

create procedure s2(in in_name varchar(11),out out_age int)

-> begin

-> select age into out_age from emp_new where name = in_name;

-> end //

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

create procedure s3(in in_dept int,out avg_sal float)

-> begin

-> select avg(incoming) into avg_sal from emp_new where dept2=101;

-> end //

相关推荐
踩坑小念9 分钟前
Redis线程模型
数据库·redis·缓存
满目82812 分钟前
【Ubuntu系统实战】一站式部署与管理MySQL、MongoDB、Redis三大数据库
数据库·redis·mysql·mongodb·ubuntu·数据库布置
GreatSQL42 分钟前
GreatSQL优化技巧:手动实现谓词下推
数据库
小云数据库服务专线1 小时前
GaussDB 数据库架构师修炼(十八) SQL引擎-计划管理-SPM
数据库·数据库架构·gaussdb
创思通信1 小时前
4G模块 EC200通过MQTT协议连接到阿里云
数据库·物联网·mqtt·阿里云·at·ec200a
DDC楼宇自控与IBMS集成系统解读1 小时前
BA 楼宇自控系统 + AI:重构楼宇设备管理的 “智能决策” 体系
大数据·网络·数据库·人工智能·3d·重构
JIngJaneIL1 小时前
家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·家庭事务管理系统
Jacob02342 小时前
为什么那么多人说大数据只是写SQL?
数据库·后端·sql
小蒜学长3 小时前
家庭财务规划与投资系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
DemonAvenger3 小时前
MySQL性能调优实战:慢查询分析与SQL优化全攻略
数据库·mysql·性能优化