题目要求:
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();

创建存储过程

相关文章:

  • 2021-11-30
  • 2021-12-12
  • 2022-12-23
  • 2021-04-08
  • 2021-09-08
  • 2022-02-07
猜你喜欢
  • 2021-09-06
  • 2022-12-23
相关资源
相似解决方案