1.触发器
1.1建立触发器,订单表中增加订单数量后,商品表商品数量同步减少对应的商品订单出数量,并测试
delimiter //
create trigger orders_insert_trigger after insert
on orders for each row
begin
update goods set num=num-new.onum where gid=new.gid;
end //
delimiter ;
1.2建立触发器,实现功能:客户取消订单,恢复商品表对应商品的数量
delimiter //
create trigger orders_delete_trigger after delete
on orders for each row
begin
update goods set num=num+old.onum where gid=old.gid;
end //
delimiter ;
1.3建立触发器,实现功能:客户修改订单,商品表对应商品数量同步更新
delimiter //
create trigger orders_update_trigger after update
on orders for each row
begin
update goods set num=num+(old.onum-new.onum) where gid=new.gid;
end //
delimiter ;
2.存储过程
2.1 使用mydb7_openlab库
use mydb7_openlab;
2.2 创建提取emp_new表所有员工姓名和工资的存储过程s1
delimiter //
create procedure s1()
begin
select name,incoming from emp_new;
end //
delimiter ;
2.3 创建存储过程s2,实现输入员工姓名后返回员工的年龄
delimiter //
create procedure s2(in insert_name varchar(11))
begin
select name,age from emp_new where name=insert_name;
end //
delimiter ;
2.4 创建一个存储过程s3,有2个参数,传入部门号,返回该部门的平均工资
delimiter //
create procedure s3(in insert_dept int,out avg_age float)
begin
select round(avg(incoming),2) from emp_new where dept2=insert_dept group by dept2;
end //
delimiter ;