Mysql 在另一个过程中使用一个过程的值

Mysql 在另一个过程中使用一个过程的值,mysql,Mysql,我从一个程序调用另一个程序 CREATE PROCEDURE choice_select(IN choice_value BIGINT) BEGIN DECLARE AA varchar(100); CALL TEST(choice_value,AA); SELECT description FROM academic where {select a}; END TEST是我的另一个过程,我想通过TEST过程返回的值;在WHERE子句中

我从一个程序调用另一个程序

CREATE PROCEDURE choice_select(IN choice_value BIGINT)
BEGIN

    DECLARE AA varchar(100);
    CALL TEST(choice_value,AA);

    SELECT  description
    FROM    academic
    where   {select a};

END
TEST是我的另一个过程,我想通过TEST过程返回的值;在WHERE子句中,WHERE是一个输出变量。

计划A:

使用FIND_IN_SET函数筛选记录-

开始 设置@aa=NULL; 呼叫test@aa; - 测试应返回如下字符串-'1,2,3,4,5' 从学术中选择描述,在学术id@aa中查找; 结束

方案B:


在测试过程中填充一个临时表,然后将此表与学术表联接。

如果测试返回单个值,为什么不使用标量函数而不是调用另一个SP?在select语句中,您将返回值与哪个字段进行比较?在第二个过程中,我将返回一个值列表,并与学术id进行比较