我有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;
任何人都可以给我解决方案吗?
答案 0 :(得分:1)
@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;
答案 1 :(得分:0)
我认为您不能使用动态查询执行存储过程。而是使用程序中涉及的SELECT
创建动态查询并执行该操作。