我有mysql存储过程,我想在使用准备好的语句的变量中调用该过程名称,但这给了我一个错误,

我不是mysql专家。

这是准备好的声明

   > PREPARE stmt1 FROM 'CALL ? (?,?,?)';
     SET @q = 'sys_search';
     SET @a ='All_Employees';
     SET @b = 1;
     SET @c = 1;
     EXECUTE stmt1 USING @q,@a,@b,@c;


有人可以给我解决方案吗?

最佳答案

@Rahul,@Tim Biegeleisen谢谢您的回复。
我使用此语句来完成工作。

SET @q = 'sys_search';
SET @q2 = CONCAT('CALL ',@q,'(?,?,?)');
PREPARE stmt1 FROM @q2;
SET @a = 'All_Employees';
SET @b = 1;
SET @c = 1;
EXECUTE stmt1 USING @a, @b,@c;

10-05 20:49
查看更多