码迷,mamicode.com
首页 > 数据库 > 详细

mysql批量增加表中新列存储过程

时间:2017-08-02 19:54:41      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:date   time   访问量   业务   from   name   ddd   package   while   

一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下:

日志表结构类型 tbl_ads_req_20140801, tbl_ads_req_20140802 ...

DELIMITER //
create procedure sp2()
begin
declare sTime varchar(32);
declare eTime varchar(32);
declare sName varchar(128);
declare lName varchar(128);
declare sqlVar varchar(128);
declare rest int;
set sTime = ‘20140801‘;
set eTime = ‘20140831‘;
set sName = CONCAT(‘tbl_ads_req_‘,‘‘);
set lName = ‘‘;
set rest = 1;
while rest > 0 do

set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),‘%Y%m%d‘));
set lName = CONCAT(sName,sTime);
set sqlVar=CONCAT(‘ alter table ‘,lName,‘ add app_package varchar(64)‘);
set @v_s=sqlVar;
prepare stmt from @v_s;
EXECUTE stmt;
set rest = DATEDIFF(eTime,sTime);
END while;
end;
//
DELIMITER;

mysql批量增加表中新列存储过程

标签:date   time   访问量   业务   from   name   ddd   package   while   

原文地址:http://www.cnblogs.com/2881064178dinfeng/p/7275529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!