BEGIN
declare gradeTableNew varchar(50);
declare action varchar(1000);
##去改建行单位的 sxjcjy_t_userinfo 用户表里的 prefix默认字段
##拼接新单位的表名
set tableNew = CONCAT(prefixNew,'_','t_userinfo');
set action= REPLACE('alter table %table MODIFY prefix varchar(50) default \'%prefix\'','%prefix',prefixNew) ;
set action= REPLACE(action,'%table',tableNew) ;
set @s=action;
PREPARE stmt FROM @s;
EXECUTE stmt ;
END
注:传入参数(IN `prefixNew` varchar(50))
个人记录:存储过程中调用另一个存过:call pro_creat_table_new(prefixNew,prefixCopy,0);
注2:PREPARE 语句不可以用于存储过程,自定义函数!但从 MySQL 5.0.13 开始,它可以被用于存储过程,仍不支持在函数中使用!