gpt4 book ai didi

mysql - 如何将一个存储过程输出(结果集或表)处理为另一个存储过程作为表

转载 作者:行者123 更新时间:2023-11-28 23:13:58 26 4
gpt4 key购买 nike

一个存储过程向我返回一个表,我想将该结果保存到另一个存储过程中。我遇到了 SQL 语法错误。

第一个存储过程

DELIMITER $$
USE `dataBase`$$
DROP PROCEDURE IF EXISTS `testReturnTable`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `testReturnTable`()
BEGIN
SELECT `user_id`, `email` FROM `users`;
END$$
DELIMITER ;

我正在尝试将此存储过程调用到另一个存储过程中,并希望将数据保存到 View 或表中

DELIMITER $$
USE `dataBase`$$
DROP PROCEDURE IF EXISTS `testReturnCall`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `testReturnCall`()
BEGIN
DROP VIEW IF EXISTS `my_view`;
CREATE OR REPLACE VIEW my_view AS (CALL testReturnTable());
SELECT * FROM my_view;
END$$
DELIMITER ;

出现错误

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CALL testReturnTable());

我也可以在这里使用函数,但我不知道如何处理结果集,请指教。

最佳答案

无法将表输出从一个存储过程获取到另一个存储过程。但是我们有替代方法来执行此操作,即临时表

关于mysql - 如何将一个存储过程输出(结果集或表)处理为另一个存储过程作为表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44704787/

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