MySQL-存储函数练习

创建表并插入数据

​	字段名	 数据类型       主键    外键   非空    唯一   自增
​	id         INT	        是 	    否 	  是      是 	 否
​	name	VARCHAR(50)     否      否 	  是      否  	 否
​	glass   VARCHAR(50)     否      否 	  是      否  	 否
mysql> create table sch(
    -> id int primary key,
    -> name varchar(50) not null,
    -> glass varchar(50) not null);
​	sch表内容
​	id	  name	     glass
​	1	 xiaommg     glass 12 	 xiaojun      glass 2
mysql> insert into sch values (1,'xiaommg','glass 1'),(2,'xiaojun','glass 2');

在这里插入图片描述

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

mysql> \d $
mysql> create function count_sch()
    -> returns int 
    -> begin
    -> declare n int default 0;
    -> select count(*) into n from sch;
    -> return n;
    -> end$

在这里插入图片描述

2、创建一个存储过程avg_sai,有3个参数,分别是deptno,job,接收平均工资,功能查询emp表dept为30,job为销售员的平均工资。
在这里插入图片描述

mysql> create procedure avg_sai(in a int,in b varchar(255),out avg_salary int)
    -> begin
    -> select avg(sai) into avg_salary
    -> from emp
    -> where deptno=a and job=b;
    -> end$$
mysql> set @avg_salary=0$$
mysql> CALL avg_sai(30, '销售员', @avg_salary)$$
mysql> select @avg_salary$$
+-------------+
| @avg_salary |
+-------------+
|    14000.00 |
+-------------+

猜你喜欢

转载自blog.csdn.net/HealerCCX/article/details/131668424