MySQL存储函数和存储过程习题

创建表并插入数据

	字段名	数据类型	主键	外键	非空   唯一 自增
	id 		INT			 是 	 否 	  是    是 	否
	name	VARCHAR(50)  否 	 否 	  是    否 	否
	glass   VARCHAR(50)  否 	 否 	  是    否 	否

	sch 表内容
	id	name	glass
	1	xiaommg glass 1
	2 	xiaojun glass 2


	1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch()
	2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资,

功能查询emp表dept为30,job为销售员的平均工资

创建sch表
mysql> create table sch(
    -> id int primary key auto_increment not null unique,
    -> name varchar(50) not null,
    -> glass varchar(50) not null
	-> )charset=utf8

MySQL存储函数和存储过程习题_第1张图片

插入数据
mysql> insert into sch values(1,'xiaommg','glass1'),(2,'xiaojun','glass2');

MySQL存储函数和存储过程习题_第2张图片

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

MySQL存储函数和存储过程习题_第3张图片

2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资,功能查询emp表dept为30,job为销售员的平均工资
mysql> delimiter //
mysql> create procedure avg_sai(in dept int,in job varchar(50),out p1 float(10,2)) begin select avg(sai) into p1 from emp where deptno=dept and job='SALESMAN';end //
mysql> delimiter ;
mysql> call avg_sai(30,'SALESMAN',@a);
Query OK, 1 row affected (0.00 sec)

mysql> select @a;

MySQL存储函数和存储过程习题_第4张图片

你可能感兴趣的:(mysql)