Mysql 动态传递过程名称
是否可以在另一个过程中动态传递过程的名称 过程名称存储在表中,根据条件,名称将有所不同 如果可能,我将如何实现这一点 到目前为止,我有这样的想法:Mysql 动态传递过程名称,mysql,stored-procedures,Mysql,Stored Procedures,是否可以在另一个过程中动态传递过程的名称 过程名称存储在表中,根据条件,名称将有所不同 如果可能,我将如何实现这一点 到目前为止,我有这样的想法: SET $proc = CONCAT('CALL ',$queryString); PREPARE stmt FROM CONCAT('CALL ', $queryString); EXECUTE stmt; 非常接近,只需使用正确的prepared语句语法: create procedure sp_exec_proc( in_proc ch
SET $proc = CONCAT('CALL ',$queryString);
PREPARE stmt FROM CONCAT('CALL ', $queryString);
EXECUTE stmt;
非常接近,只需使用正确的prepared语句语法:
create procedure sp_exec_proc(
in_proc char(64)
)
begin
set @proc = concat('CALL ',in_proc);
prepare stmt from @proc;
execute stmt;
end
然后可以传入过程名称和可选参数
call sp_exec_proc('sp_my_proc("ABC")')
从$proc准备stmt
然后执行stmt因为$proc已经用SQL语句(您的过程调用)设置好了,所以code>应该可以做到这一点。您的代码有什么问题?