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

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

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