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

相关推荐
Java后端的Ai之路3 分钟前
Java并发编程07-等待通知机制优化循环等待
java·数据库·python
AllData公司负责人7 分钟前
AllData 可定义数据中台完成信创适配|银河麒麟 + 海光X86 CPU / 华为鲲鹏ARM CPU+ OceanBase / 人大金仓国产化环境部署落地
大数据·arm开发·数据库·人工智能·oceanbase·kingbase
bksczm8 分钟前
C++Redis开发(Ubuntu 22.04)
数据库·redis·缓存
zhangjw3422 分钟前
1-6 PostgreSQL 特色类型实战:数组、JSON & JSONB、枚举、范围类型
数据库·postgresql
杨云龙UP25 分钟前
Oracle 同义词(SYNONYM)详解及 Toad for Oracle SQL 智能补全配置实战
运维·数据库·sql·oracle·同义词·toad·toad for oracle
余槐i43 分钟前
Spring Boot 3.2 偶发500无日志:线程池复用导致请求上下文丢失
spring boot·redis·后端·mysql·性能优化
倔强的石头_1 小时前
MongoDB迁移的新选项:在金仓KES上,用SQL管理文档数据
数据库
loulanyue_1 小时前
AI Agent记忆从不是向量库:Oracle拆解读写分离与记忆晋升门,终结无脑存聊天的伪智能——读Wojtek Pluta演讲
数据库·人工智能·oracle
曼岛_1 小时前
[图解密码学]第5章 对称加密基础
java·数据库·密码学
孤狼GPT1 小时前
ChatGPT、Codex数据库实战:MyBatis-Plus第一页查询正常,翻到第10000页为什么越来越慢?
mysql·chatgpt·mybatis-plus·codex·深分页