mysql存储过程传递表名参数示例

最近开发一个项目用到mysql,其中有的过程想用存储过程实现,但是在使用存储过程的时候,发现不能直接外部传递表名,列名等参数,需要用到动态拼接字符串的模式才能实现,放个例子在这里,便于以后开发的时候用到:

addtable 为外部传入的in变量,我这里是传递的表名:

BEGIN
#用于存储sql拼接后语句的字符串变量
DECLARE v_sql varchar(1024) DEFAULT '0';
#给字符串赋值,使用mysql函数CONCAT把拼接的字符串合成一个字符串,赋值给变量。
SET v_sql=CONCAT('select * from  ', addtable ,' limit 0,10');
#PREPARE语句用于预备一个语句
SET @lastdata = v_sql;
PREPARE lastdata FROM @lastdata;
#execute函数是用于执行已经预处理过的语句
EXECUTE lastdata;
END

通过上述方法可以传递表名,列名等,我们就可以写出比较功能强大的存储过程了

欢迎大家阅读《mysql存储过程传送表名参数示例_mysql》,跪求各位点评,by 搞代码