gpt4 book ai didi

Mysql:从过程结果中列出值

转载 作者:行者123 更新时间:2023-11-29 05:59:56 24 4
gpt4 key购买 nike

我有一个执行 ID SELECT 的存储过程(它在过程中的原因是它首先检查要选择的 ID)。

我想在类似 SELECT * FROM products WHERE productID IN <resultSet> 的过程查询中使用该结果集.

但我不知道如何将程序的结果集放入一个范围/区间/...?执行该选择的变量。我错过了什么?

编辑:这个问题实际上不是SQL server stored procedure return a table的重复,它只是具有相同的解决方案:存储过程不返回任何东西。

最佳答案

MySQL 存储过程不返回值,但您可以将结果存储在临时表中并在另一个查询中使用它们,如何?

  1. 在您的存储过程中,创建一个包含结果值的临时表:

    create procedure your_procedure()

    drop temporary table if exists _procedure_result_tmp;

    -- dump the result in a temporary table

    create temporary table _procedure_result_tmp
    select id from your_table where <condition>;

    end
  2. 在查询中使用 _procedure_result_tmp 表:

    call your_procedure();
    select * FROM your_other_table
    where id in (select id from _procedure_result_tmp);

关于Mysql:从过程结果中列出值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45836945/

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