MySQL 中 Oracle 的 REF CURSOR 相当于什么?

发布于 2024-12-01 04:12:02 字数 129 浏览 1 评论 0原文

我试图在 mysql 中创建一个过程,返回一个包含结果的数组,我曾经使用 oracle ref 游标来做,但在 mysql 中不知道如何继续, 我也必须传递参数...

有人知道我该怎么做,或者有一个例子向我展示?非常感谢...

I am trying to make a procdure in mysql that returns me an array with the result, I used to do with the oracle ref cursor, but in mysql do not know how to proceed,
I have to pass parameters too...

Anyone know how I can do, or have an example to show me? Thank you very much...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

假装爱人 2024-12-08 04:12:02

MySQL 没有像 Oracle 那样的引用器。如果您计划编写一个在 MySQL 中返回多行/结果集的存储过程,只需

DROP procedure IF EXISTS `sample`;
DELIMITER $
CREATE  PROCEDURE `sample`(p_rank IN INT)
BEGIN
select * from MyTable where id=p_rank;
END$
DELIMITER ;

调用 sample(); 即可。它将返回一个您可以使用的结果集。

MySQL doesn't have a refcursor like Oracle. If you are planning to write a stored procedure that returns multiple rows/result set in MySQL just do

DROP procedure IF EXISTS `sample`;
DELIMITER $
CREATE  PROCEDURE `sample`(p_rank IN INT)
BEGIN
select * from MyTable where id=p_rank;
END$
DELIMITER ;

and call sample();. It will return a result set which you can use.

不必在意 2024-12-08 04:12:02

MySQL 中没有类似的 REF CURSOR。存储过程和函数仅允许传递和返回标量数据类型,请参阅此处的参考 - CREATE PROCEDURE 和 CREATE FUNCTION 语法

MySQL 无法操作数组。解决方法是使用 (或临时表)。

另外 - 利用可视化对象编辑器和存储过程调试器 dbForge Studio for MySQL

There is no analog of REF CURSOR in MySQL. Stored procedures and functions allow to pass and return only scalar datata types, see the reference here - CREATE PROCEDURE and CREATE FUNCTION Syntax.

MySQL cannot operate with arrays. A workaround is to use a table (or TEMPORARY TABLE).

Also - take advantage of visual object editors and stored procedure debugger in dbForge Studio for MySQL.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文