创建存储过程

题目要求:
2、创建一个存储过程avg_sai,有3个参数,
分别是deptno,job,接收平均工资,功能查询emp表dept为30,
job为销售员的平均工资。

IN 输入参数
OUT 输出参数
INOUT 输入输出参数

创建emp表:
create table emp (
id int primary key auto_increment,
name varchar(255) unique not null,
age int check(age >= 18),
gender char(5) check( gender in (“男”, “女”)),
salary int (255),
dept INT(10),
job VARCHAR(50)
);
插入数据:
insert into emp values(null, “赵五”, 20, “男”, 4500,1,“机械部”);
insert into emp values(null, “詹姆斯”, 24, “男”, 6500,1,“计算机”);
insert into emp values(null, “乔布斯”, 25, “男”, 8500,2,“运维部”);
insert into emp values(null, “华为”, 21, “男”, 9500,2,“数据部”);
insert into emp values(null, “赵五”, 34, “男”, 7500,3,“机械部”);
insert into emp values(null, “中兴”, 34, “男”, 3500,3,“数据部”);
insert into emp values(null, “周六”, 24, “男”, 6900,2,“机械部”);
insert into emp values(null, “嘻嘻”, 28, “男”, 7900,3,“运维部”);
insert into emp values(null, “哈哈”, 30, “男”, 9900,1,“数据部”);

insert into emp values(null, “晓明”, 36, “女”, 10000,2,“运维部”);
insert into emp values(null, “小红”, 29, “女”, 7700,3,“机械部”);
insert into emp values(null, “小丫”, 45, “女”, 4400,3,“运维部”);
insert into emp values(null, “小海”, 19, “女”, 5500,2,“数据部”);
insert into emp values(null, “小宋”, 34, “女”, 7600,2,“数据部”);

创建存储过程:
CREATE PROCEDURE avg_sai(in deptno int(50),in job_a varchar(50),out salary_a int)
BEGIN
select avg(salary) into salary_a from emp where dept=deptno and job=job_a;
end$$
\d;
call avg_sai(1,“机械部”,@a);
call avg_sai(2,“运维部”,@b);
call avg_sai(1,“计算机”,@c);
call avg_sai(2,“数据部”,@d);

select @a ‘机械部的平均工资’;
select @b ‘运维部的平均工资’;
select @c ‘计算机的平均工资’;
select @d ‘数据部的平均工资’;

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

作业1:
、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch()

\d$
CREATE FUNCTION count_sch()
RETURNS int
BEGIN
declare c int default 0;
select count(1) into c from emp;
return c;
end$
\d;
select count_sch();

在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值