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> \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> select count_sch() //

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

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

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) //

相关推荐
山峰哥13 分钟前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先
杨云龙UP19 分钟前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
微学AI1 小时前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql
2401_884563241 小时前
Python Lambda(匿名函数):简洁之道
jvm·数据库·python
haixingtianxinghai2 小时前
Redis真的是单线程吗?
数据库·redis·缓存
FirstFrost --sy2 小时前
MySQL复合查询
数据库·mysql
imuliuliang2 小时前
MySQL的底层原理与架构
数据库·mysql·架构
尽兴-2 小时前
Redis7 底层数据结构解析
数据结构·数据库·缓存·redis7
m0_730115113 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
qq_410194293 小时前
SQL语句性能优化
数据库·sql·性能优化