mysql存储过程

一、好言

努力!!!

二、内容

drop procedure if exists mahone.test_sql;
create procedure test_sql(a int)
  BEGIN
       declare versions VARCHR(10);
        
        SELECT VERSION INTO VERSIONS  from t_app_version;

set @stmt:=concat('create table t_app_user_',versions,' like t_app_user');

PREPARE STMT from @STMT;
EXECUTE STMT;

说明
最近在处理一张表,这张表是收集数据的,每天有大约100w-200w的数据量,所以需要定期处理数据,如果使用代码做操作的话,数据量大,操作起来浪费时间并且肯定消耗大量io,所以还是决定使用存储过程来操作,先写了一点,就先记录点。就是这个存储过程,调试了下,因为我想维护一张版本表,比如t_1,t_2,t_3...这样命名的动态创建表,所以有个版本号,特别说明,这里的版本号必须是字符串类型,我刚刚开始使用int类型,一直执行失败的。

你可能感兴趣的:(mysql存储过程)