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

创建表并插入数据:

        字段名 数据类型 主键 外键 非空 唯一 自增
        id INT 是 否 是  是 否
        name VARCHAR(50) 否 否 是  否 否
        glass  VARCHAR(50) 否 否 是  否 否
sch 表内容
id name glass
1 xiaommg glass 1
2 xiaojun glass 2

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

先创建一个表并插入一些数据:

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

mysql> \d //

mysql> create function count_sch()

-> returns int

-> begin

-> declare i int default 0;

-> select count(*) into i from sch;

-> return i;

-> end //

Query OK, 0 rows affected (0.00 sec)

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

mysql> select count_sch() //MySQL存储函数与存储过程习题_第3张图片

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

先创建一个表并插入一些数据:MySQL存储函数与存储过程习题_第4张图片

mysql> \d //

mysql> create procedure avg_sai(IN p1 int , IN p2 varchar(255) , OUT p3 int)

-> begin

-> select avg(sai) from emp where p1=deptno or p2=job;

-> end //

Query OK, 0 rows affected (0.00 sec)

mysql> call avg_sai(30,'销售员',@avg_sai) //MySQL存储函数与存储过程习题_第5张图片

你可能感兴趣的:(mysql,数据库)