原作者:师庆栋
- 适用范围
- 问题概述
- 解决方案
- MySQL中示例语句
- MogDB中迁移后的语句
- 限制
适用范围
MySQL迁至MogDB
问题概述
MySQL存过中可以存在查询语句,执行后直接返回记录集,而MogDB的存过中不允许有查询语句。
解决方案
MogDB中有表函数,我们可以转为表函数
MySQL中示例语句
CREATE PROCEDURE proc_cnt_emp(p_deptno int) BEGIN SELECT * FROM scott.emp WHERE deptno = p_deptno; END;
复制
执行结果
mysql> CALL scott.proc_cnt_emp(10); +-------+--------+-----------+------+------------+---------+------+--------+ | EMPNO | ENAME | JOB | MGR | HIREDATE | SAL | COMM | DEPTNO | +-------+--------+-----------+------+------------+---------+------+--------+ | 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450.00 | NULL | 10 | | 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000.00 | NULL | 10 | | 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300.00 | NULL | 10 | +-------+--------+-----------+------+------------+---------+------+--------+ 3 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec)
复制
MogDB中迁移后的语句
create or replace function get_emp(p_deptno number) returns setof scott.emp AS $$ BEGIN return query select * from scott.emp where deptno = p_deptno; end; $$ LANGUAGE 'plpgsql'
复制
执行效果
stone=> CALL scott.get_emp(10); empno | ename | job | mgr | hiredate | sal | comm | deptno -------+--------+-----------+------+---------------------+---------+------+-------- 7782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450.00 | | 10 7839 | KING | PRESIDENT | | 1981-11-17 00:00:00 | 5000.00 | | 10 7934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300.00 | | 10 (3 rows)
复制
限制
需要明确返回集合的结构,本示例中返回emp的所有列。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
1743次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
645次阅读
2025-04-25 15:30:58
墨天轮个人数说知识点合集
JiekeXu
467次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
456次阅读
2025-04-01 08:47:17
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
397次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
372次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
345次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
319次阅读
2025-04-07 12:14:29
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
MogDB
290次阅读
2025-04-17 10:41:41
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
215次阅读
2025-04-15 15:27:53
TA的专栏
热门文章
我的故障分析及处理思路分享(李真旭)
2020-10-22 11131浏览
公共子表达式消除(Common Subexpression elimination,CSE)
2020-08-26 6204浏览
Oracle数据库的跟踪和分析方法
2020-10-02 5068浏览
2.5.9使用systemd管理MySQL服务器
2020-10-20 4540浏览
初探华为云GaussDB (for MySQL)
2020-12-11 3871浏览
最新文章
28.4.4 INFORMATION_SCHEMA INNODB_BUFFER_POOL_STATS 表
2024-09-29 108浏览
28.4.3 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU 表
2024-09-29 67浏览
28.4.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表
2024-09-29 65浏览
28.4.1 INFORMATION_SCHEMA InnoDB 表参考
2024-09-29 69浏览
28.3.50 INFORMATION_SCHEMA VIEW_TABLE_USAGE 表
2024-09-29 71浏览
目录