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

相关推荐
CookieCrusher1 小时前
数据泄露危机逼近:五款电脑加密软件为企业筑起安全防线
运维·数据库·windows·安全·文件加密·数据防泄漏·dlp
这周也會开心2 小时前
SQL-窗口函数
数据库·sql
TDengine (老段)4 小时前
TDengine 时间函数 WEEKDAY() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
TDengine (老段)5 小时前
从 ETL 到 Agentic AI:工业数据管理变革与 TDengine IDMP 的治理之道
数据库·数据仓库·人工智能·物联网·时序数据库·etl·tdengine
LQ深蹲不写BUG6 小时前
MySql的事务机制
数据库·mysql
逼子格7 小时前
【Proteus仿真】定时器控制系列仿真——秒表计数/数码管显示时间
数据库·单片机·嵌入式硬件·51单片机·proteus·定时器·硬件工程师
stein_java8 小时前
Mybatis-7 XML映射器
数据库·sql·mybatis
xhbh6669 小时前
开发效率翻倍:资深DBA都在用的MySQL客户端利器
数据库·mysql·数据库连接工具·mysql 连接工具
LJC_Superman9 小时前
Web与Nginx网站服务
运维·服务器·前端·网络·数据库·nginx·vim