gpt4 book ai didi

mysql - 在另一个存储过程中使用mysql存储过程的结果集

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

我有一个返回结果集的 MYSQL 存储过程 SP1()。

我想在 SP2() 内部调用 SP1() 并循环遍历 SP1() 的结果集来做一些额外的工作。

我不想包含 SP1() 中的逻辑,因为它会使 SP2() 太复杂。

有什么建议吗?

谢谢。

最佳答案

你想做什么听起来不是特别好,也许你应该考虑重新设计这 2 个过程。但是,您可以做这样的事情作为快速修复:

让您的 sp2 sproc 将它的中间结果写入一个临时表,然后您可以在 sp1 内部访问/处理该临时表。一旦 sp1 返回,您就可以删除在 sp2 中创建的临时表。

http://pastie.org/883881

delimiter ;
drop procedure if exists foo;
delimiter #

create procedure foo()
begin

create temporary table tmp_users select * from users;

-- do stuff with tmp_users

call bar();

drop temporary table if exists tmp_users;

end #

delimiter ;

drop procedure if exists bar;

delimiter #

create procedure bar()
begin
-- do more stuff with tmp_users
select * from tmp_users;
end #

delimiter ;

call foo();

不是很优雅,但应该可以解决问题

关于mysql - 在另一个存储过程中使用mysql存储过程的结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2466713/

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