原!mysql5.6 存储过程 批量建表】的更多相关文章

由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; do set @createSql = CONCAT('CREATE TABLE IF NOT EXISTS open_msg_',`@createTime`, '(`id` int(16) NOT NULL AUTO_INCREMENT, `msgType` varchar(2) DEFAULT…
CREATE DEFINER=`root`@`%` PROCEDURE `createTables`() begin declare i int; declare suffix varchar(20); declare createsql varchar(2048); set i = 0; while i < 100 do set suffix = hex(i); if length(suffix)<=1 then set suffix = concat('0',hex(i)); end if…
最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create procedure createTablesWithIndex() BEGIN ); ); ); ); ); ; DO -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL, -- 创建表 SET @createSql = CONCAT('CREA…
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` INT(11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@createIndexSql2` VARCHAR(2560); DECLARE `@createIndex…
批量建表dev_3970000000014到dev_3970000000035 declare @i bigint declare @j int ) ) ) ) set @sql = '' set @sqlsource_delete = 'drop table [dbo].[dev_{SN}]' set @sqlsource_create = 'CREATE TABLE [dbo].[dev_{SN}] ( [TasTimeStamp] [bigint] PRIMARY KEY , [DevTi…
动态sql,顾名思义就是动态执行的sql,也就是说在没执行之前是动态的拼接的. 任务 传入参数:新建的表名hd+当前的年和月,例如hd_201105表结构是:字段1:id ,类型是number,可以自动增加 字段2:name 类型是varcha2,长度20 字段3:city 类型是varchar2,长度20 建立序列: create sequence t_id increment start nomaxvalue cache ; 建立自动建表过程: create or replace proce…
业务需要,往某个表中批量插入数据,使用存储过程插入 首先,要建立一张mysql表,表明为phone_number, 三个字段,id 自增,number 就是要插入的表格,is_used 表示十分已经使用,默认值为0,未使用 CREATE TABLE `phone_number` ( `id` ) NOT NULL AUTO_INCREMENT, `) NOT NULL, `is_used` ) ' COMMENT '是否已经使用 1 已经使用,0 未使用', PRIMARY KEY (`id`)…
mysql需要导入某前缀例如12345为前缀的,后缀扩展2位 即00-99. 利用存储过程插入数据. DROP PROCEDURE IF EXISTS insert_popsms_code;DELIMITER // ) ) BEGIN ; DECLARE channelId int; ); do ) then ',i); else set codeNum = CONCAT(prefix,i); end if; ' ) then ; ELSEIF(prefix ') then ; else ; e…
功能:实现将表result_good_city_dzl中的字段lat更新为表 result_good_city_lh中的lat,条件是两个表中的id一样 即: update result_good_city_dzl a set a.lat=(select lat from result_good_city_lh b where a.id=b.id and b.lat!=0) DELIMITER $$DROP PROCEDURE IF EXISTS update_result_good_city_…
public JsonResult CreateTable() { db = new RZBDbContext(); var query = (from c in db.Clients select new { pre = c.Prefix }).ToList(); foreach (var d in query) { //遍历循环client 生成表 //创建数据表 var file = Server.MapPath("~/App_Data/create_log.sql"); var…