Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 动态传递过程名称_Mysql_Stored Procedures - Fatal编程技术网

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应该可以做到这一点。您的代码有什么问题?