gpt4 book ai didi

mysql - 存储过程结果到 MySQL 过程中的临时表

转载 作者:可可西里 更新时间:2023-11-01 08:20:58 24 4
gpt4 key购买 nike

我有一个存储过程/例程“ABC”,它返回一个包含几行列的表。

在另一个 SP/例程“XYZ”中,我想将“ABC”返回的结果集与数据库中的表进行比较。

但是我遇到了一个障碍,我无法找到从“XYZ”中调用 SP“ABC”的方法。有什么方法可以通过从“XYZ”调用“ABC”来填充临时表。

我是 MySQL 的新手,我很确定这在 SQL Server 中是可能的,但我现在对如何继续进行下去一无所知。请帮助我找出我在理解我的过程中犯了错误的地方。

最佳答案

您可以在过程中创建和填充临时表。然后你可以从另一个过程中通过它的名字引用这个表,但是你必须使用创建临时表的 session 。临时表是 session 范围内的对象。


示例:

DELIMITER $$

CREATE PROCEDURE ABC()
BEGIN
CREATE TEMPORARY TABLE tmpEnt SELECT 1;
END$$

CREATE PROCEDURE XYZ()
BEGIN
INSERT INTO tmpEnt VALUES (100);
END$$

DELIMITER ;

CALL ABC; -- it will create temp. table
CALL XYZ; -- it will insert one more record into temp. table

SELECT * FROM tmpEnt;
+-----+
| 1 |
+-----+
| 1 |
| 100 |
+-----+

我使用存储过程而不是函数。

关于mysql - 存储过程结果到 MySQL 过程中的临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com