mysql存储过程返回多个结果集的示例
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关mysql存储过程返回多个结果集的示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql存储函数只返回一个值。要开发返回多个值的存储过程,需
千家信息网最后更新 2026年11月02日mysql存储过程返回多个结果集的示例
这篇文章给大家分享的是有关mysql存储过程返回多个结果集的示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。
咱们先来看一个orders表它的结构:
mysql> desc orders;+----------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------------+-------------+------+-----+---------+-------+| orderNumber | int(11) | NO | PRI | NULL | || orderDate | date | NO | | NULL | || requiredDate | date | NO | | NULL | || shippedDate | date | YES | | NULL | || status | varchar(15) | NO | | NULL | || comments | text | YES | | NULL | || customerNumber | int(11) | NO | MUL | NULL | |+----------------+-------------+------+-----+---------+-------+7 rows in set
然后嘞,咱们来看一个存储过程,它接受客户编号,并返回发货(shipped),取消(canceled),解决(resolved)和争议(disputed)的订单总数(多个结果集):
DELIMITER $$ CREATE PROCEDURE get_order_by_cust( IN cust_no INT, OUT shipped INT, OUT canceled INT, OUT resolved INT, OUT disputed INT)BEGIN -- shipped SELECT count(*) INTO shipped FROM orders WHERE customerNumber = cust_no AND status = 'Shipped'; -- canceled SELECT count(*) INTO canceled FROM orders WHERE customerNumber = cust_no AND status = 'Canceled'; -- resolved SELECT count(*) INTO resolved FROM orders WHERE customerNumber = cust_no AND status = 'Resolved'; -- disputed SELECT count(*) INTO disputed FROM orders WHERE customerNumber = cust_no AND status = 'Disputed'; END
其实,除IN参数之外,存储过程还需要4个额外的OUT参数:shipped, canceled, resolved 和 disputed。 在存储过程中,使用带有count函数的select语句根据订单状态获取相应的订单总数,并将其分配给相应的参数。按着上面的sql,我们如果要使用get_order_by_cust存储过程,可以传递客户编号和四个用户定义的变量来获取输出值。执行存储过程后,我们再使用SELECT语句输出变量值:
+----------+-----------+-----------+-----------+| @shipped | @canceled | @resolved | @disputed |+----------+-----------+-----------+-----------+| 22 | 0 | 1 | 1 |+----------+-----------+-----------+-----------+1 row in set
感谢各位的阅读!关于mysql存储过程返回多个结果集的示例就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
存储
过程
多个
参数
结果
订单
示例
内容
函数
客户
总数
更多
语句
输出
不错
实用
变量
文章
状态
用户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网科技集团
互联网和科技技术
互联网科技公司税收优惠
互联网 科技公司
互联网与未来科技
奇酷互联网络科技
互联网科技排名
迪茉互联网科技
互联网和高科技公司
互联网科技与管理
湖北码尼互联网科技有限公司电话
杭州壁岐互联网科技有限公司
青海科技产业互联网发展
启辰互联网科技
城市宝互联网科技有限公司
四川互联网展示科技馆设计
领航科技大厦互联网公司
互联网相关科技技术
郑州欣桑互联网科技有限公司
高科技和互联网的现代国家
手磨咖啡
互联网科技有限公司图片
互联网 的科技创新
猫创互联网科技
温州喔噻互联网科技有限公司
来此购互联网科技有限公司
受益于互联网科技的高速发展
晋城互联网科技
互联网数据科技专业
河南商务圈互联网科技有限公司