您的位置:首页 > 数据库 > MySQL

mysql存储过程中是有字符型参数,和是表面动态用法

2013-10-31 13:41 543 查看
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 开始,它可以被用于存储过程,仍不支持在函数中使用! 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息